Merge branch 'master' into python3
authorFredrik Tolf <fredrik@dolda2000.com>
Sat, 7 Dec 2013 21:51:13 +0000 (22:51 +0100)
committerFredrik Tolf <fredrik@dolda2000.com>
Sat, 7 Dec 2013 21:51:13 +0000 (22:51 +0100)
1  2 
wrw/proto.py

diff --combined wrw/proto.py
@@@ -1,4 -1,4 +1,4 @@@
- import time
+ import time, calendar
  
  statusinfo = {
      400: ("Bad Request", "Invalid HTTP request."),
@@@ -21,7 -21,7 +21,7 @@@ def phttpdate(dstr)
          return None
      tz = int(tz[1:])
      tz = (((tz / 100) * 60) + (tz % 100)) * 60
-     return time.mktime(time.strptime(dstr, "%a, %d %b %Y %H:%M:%S")) - tz - time.altzone
+     return calendar.timegm(time.strptime(dstr, "%a, %d %b %Y %H:%M:%S")) - tz
  
  def pmimehead(hstr):
      def pws(p):
@@@ -98,20 -98,19 +98,20 @@@ def simpleerror(env, startreq, code, ti
  </body>
  </html>
  """ % (title, title, htmlq(msg))
 +    buf = buf.encode("us-ascii")
      startreq("%i %s" % (code, title), [("Content-Type", "text/html"), ("Content-Length", str(len(buf)))])
      return [buf]
  
  def urlq(url):
 -    if isinstance(url, unicode):
 +    if isinstance(url, str):
          url = url.encode("utf-8")
      ret = ""
 -    invalid = "&=#?/\"'"
 +    invalid = b"&=#?/\"'"
      for c in url:
 -        if c in invalid or (ord(c) <= 32) or (ord(c) >= 128):
 -            ret += "%%%02X" % ord(c)
 +        if c in invalid or (c <= 32) or (c >= 128):
 +            ret += "%%%02X" % c
          else:
 -            ret += c
 +            ret += chr(c)
      return ret
  
  class urlerror(ValueError):