From: Fredrik Tolf Date: Sat, 7 Dec 2013 21:51:13 +0000 (+0100) Subject: Merge branch 'master' into python3 X-Git-Url: http://dolda2000.com/gitweb/?p=wrw.git;a=commitdiff_plain;h=dc590bea957bbffa808e6cf3f516d4ae9beda98a;hp=-c Merge branch 'master' into python3 --- dc590bea957bbffa808e6cf3f516d4ae9beda98a diff --combined wrw/proto.py index cc2edb8,3dcf0d7..f03fd2b --- a/wrw/proto.py +++ b/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 """ % (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):