Dolda2000 GitWeb
/
wrw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into python3
[wrw.git]
/
wrw
/
proto.py
diff --git
a/wrw/proto.py
b/wrw/proto.py
index
0a6a430
..
f03fd2b
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):
@@
-103,12
+103,15
@@
def simpleerror(env, startreq, code, title, msg):
return [buf]
def urlq(url):
return [buf]
def urlq(url):
+ if isinstance(url, str):
+ url = url.encode("utf-8")
ret = ""
ret = ""
+ invalid = b"&=#?/\"'"
for c in url:
for c in url:
- if c
== "&" or c == "=" or c == "#" or c == "?" or c == "/" or (ord(c) <= 32
):
- ret += "%%%02X" %
ord(c)
+ if c
in invalid or (c <= 32) or (c >= 128
):
+ ret += "%%%02X" %
c
else:
else:
- ret += c
+ ret += c
hr(c)
return ret
class urlerror(ValueError):
return ret
class urlerror(ValueError):