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 python2
[wrw.git]
/
wrw
/
proto.py
diff --git
a/wrw/proto.py
b/wrw/proto.py
index
58bd626
..
a67fa19
100644
(file)
--- a/
wrw/proto.py
+++ b/
wrw/proto.py
@@
-98,20
+98,19
@@
def simpleerror(env, startreq, code, title, msg):
</body>
</html>
""" % (title, title, htmlq(msg))
</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):
startreq("%i %s" % (code, title), [("Content-Type", "text/html"), ("Content-Length", str(len(buf)))])
return [buf]
def urlq(url):
- if isinstance(url,
str
):
+ if isinstance(url,
unicode
):
url = url.encode("utf-8")
ret = ""
url = url.encode("utf-8")
ret = ""
- invalid =
b"
&=#?/\"'"
+ invalid =
";
&=#?/\"'"
for c in url:
for c in url:
- if c in invalid or (
c <= 32) or (c
>= 128):
- ret += "%%%02X" %
c
+ if c in invalid or (
ord(c) <= 32) or (ord(c)
>= 128):
+ ret += "%%%02X" %
ord(c)
else:
else:
- ret += c
hr(c)
+ ret += c
return ret
class urlerror(ValueError):
return ret
class urlerror(ValueError):
@@
-198,34
+197,19
@@
def parurl(url, pars={}, **augment):
# Wrap these, since binascii is a bit funky. :P
def enhex(bs):
# Wrap these, since binascii is a bit funky. :P
def enhex(bs):
- return base64.b16encode(bs)
.decode("us-ascii")
+ return base64.b16encode(bs)
def unhex(es):
def unhex(es):
- if not isinstance(es, collections.ByteString):
- try:
- es = es.encode("us-ascii")
- except UnicodeError:
- raise binascii.Error("non-ascii character in hex-string")
return base64.b16decode(es)
def enb32(bs):
return base64.b16decode(es)
def enb32(bs):
- return base64.b32encode(bs)
.decode("us-ascii")
+ return base64.b32encode(bs)
def unb32(es):
def unb32(es):
- if not isinstance(es, collections.ByteString):
- try:
- es = es.encode("us-ascii")
- except UnicodeError:
- raise binascii.Error("non-ascii character in base32-string")
if (len(es) % 8) != 0:
es += b"=" * (8 - (len(es) % 8))
es = es.upper() # The whole point of Base32 is that it's case-insensitive :P
return base64.b32decode(es)
def enb64(bs):
if (len(es) % 8) != 0:
es += b"=" * (8 - (len(es) % 8))
es = es.upper() # The whole point of Base32 is that it's case-insensitive :P
return base64.b32decode(es)
def enb64(bs):
- return base64.b64encode(bs)
.decode("us-ascii")
+ return base64.b64encode(bs)
def unb64(es):
def unb64(es):
- if not isinstance(es, collections.ByteString):
- try:
- es = es.encode("us-ascii")
- except UnicodeError:
- raise binascii.Error("non-ascii character in base64-string")
if (len(es) % 4) != 0:
es += b"=" * (4 - (len(es) % 4))
return base64.b64decode(es)
if (len(es) % 4) != 0:
es += b"=" * (4 - (len(es) % 4))
return base64.b64decode(es)