X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=wrw%2Fproto.py;h=0e49379e391fb5e59a9f865f6a4a6078f92b6434;hb=199cdc4055921d7497e5a6b9a132ac44d04e9894;hp=0a6a43022004d8d45e7911fc9355d4b120840604;hpb=3b67497cb853ea7dd49f579566e5f0b60a3c97d7;p=wrw.git diff --git a/wrw/proto.py b/wrw/proto.py index 0a6a430..0e49379 100644 --- a/wrw/proto.py +++ b/wrw/proto.py @@ -103,9 +103,12 @@ def simpleerror(env, startreq, code, title, msg): return [buf] def urlq(url): + if isinstance(url, unicode): + url = url.encode("utf-8") ret = "" + invalid = "&=#?/\"'" 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