X-Git-Url: http://dolda2000.com/gitweb/?p=wrw.git;a=blobdiff_plain;f=wrw%2Fproto.py;h=482a23ead18d2bef26a415ab22a990ae1680f46d;hp=0e49379e391fb5e59a9f865f6a4a6078f92b6434;hb=69eb6cbefcf769276e3e15c6f20e9d5af74fd326;hpb=199cdc4055921d7497e5a6b9a132ac44d04e9894 diff --git a/wrw/proto.py b/wrw/proto.py index 0e49379..482a23e 100644 --- a/wrw/proto.py +++ b/wrw/proto.py @@ -1,4 +1,4 @@ -import time +import time, calendar statusinfo = { 400: ("Bad Request", "Invalid HTTP request."), @@ -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): @@ -103,15 +103,15 @@ def simpleerror(env, startreq, code, title, msg): 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):