X-Git-Url: http://dolda2000.com/gitweb/?p=wrw.git;a=blobdiff_plain;f=wrw%2Fproto.py;h=70f8f77b8a68bfe20b471cbec687ac6ee1d9ddb0;hp=628bfc9fb5d22adaaa7914ffe254247ae47d32c2;hb=0bf1ac2ff3015d0072a336e670bd952d0e73535e;hpb=d6d4c944902dd58bfd5cbb3a0187d309637f4df1 diff --git a/wrw/proto.py b/wrw/proto.py index 628bfc9..70f8f77 100644 --- a/wrw/proto.py +++ b/wrw/proto.py @@ -168,11 +168,16 @@ def scripturl(req): raise Exception("Malformed local part when reconstructing URL") return siteurl(req) + req.uriname[1:] -def requrl(req): +def requrl(req, qs=True): s = siteurl(req) if req.uri[0] != '/': raise Exception("Malformed local part when reconstructing URL") - return siteurl(req) + req.uri[1:] + pf = req.uri[1:] + if not qs: + p = pf.find('?') + if not p < 0: + pf = pf[:p] + return siteurl(req) + pf def parstring(pars={}, **augment): buf = "" @@ -182,11 +187,15 @@ def parstring(pars={}, **augment): del augment[key] else: val = pars[key] + if val is None: + continue if buf != "": buf += "&" buf += urlq(key) + "=" + urlq(str(val)) - for key in augment: + for key, val in augment.items(): + if val is None: + continue if buf != "": buf += "&" - buf += urlq(key) + "=" + urlq(str(augment[key])) + buf += urlq(key) + "=" + urlq(str(val)) return buf def parurl(url, pars={}, **augment):