Dolda2000 GitWeb
/
wrw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Replace cgi.parse.
[wrw.git]
/
wrw
/
proto.py
diff --git
a/wrw/proto.py
b/wrw/proto.py
index
4cf1951
..
3dcf0d7
100644
(file)
--- a/
wrw/proto.py
+++ b/
wrw/proto.py
@@
-1,4
+1,4
@@
-import time
+import time
, calendar
statusinfo = {
400: ("Bad Request", "Invalid HTTP request."),
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 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):
def pmimehead(hstr):
def pws(p):
@@
-102,9
+102,12
@@
def simpleerror(env, startreq, code, title, msg):
return [buf]
def urlq(url):
return [buf]
def urlq(url):
+ if isinstance(url, unicode):
+ url = url.encode("utf-8")
ret = ""
ret = ""
+ invalid = "&=#?/\"'"
for c in url:
for c in url:
- if c
== "&" or c == "=" or c == "#" or c == "?" or c == "/" or (ord(c) <= 32
):
+ if c
in invalid or (ord(c) <= 32) or (ord(c) >= 128
):
ret += "%%%02X" % ord(c)
else:
ret += c
ret += "%%%02X" % ord(c)
else:
ret += c