Dolda2000 GitWeb
/
wrw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added option to strip querystring from requrl.
[wrw.git]
/
wrw
/
proto.py
diff --git
a/wrw/proto.py
b/wrw/proto.py
index
58bd626
..
80e2419
100644
(file)
--- a/
wrw/proto.py
+++ b/
wrw/proto.py
@@
-106,7
+106,7
@@
def urlq(url):
if isinstance(url, str):
url = url.encode("utf-8")
ret = ""
if isinstance(url, str):
url = url.encode("utf-8")
ret = ""
- invalid = b"&=#?/\"'"
+ invalid = b"
%;
&=#?/\"'"
for c in url:
if c in invalid or (c <= 32) or (c >= 128):
ret += "%%%02X" % c
for c in url:
if c in invalid or (c <= 32) or (c >= 128):
ret += "%%%02X" % c
@@
-168,11
+168,16
@@
def scripturl(req):
raise Exception("Malformed local part when reconstructing URL")
return siteurl(req) + req.uriname[1:]
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")
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 = ""
def parstring(pars={}, **augment):
buf = ""
@@
-192,7
+197,7
@@
def parstring(pars={}, **augment):
def parurl(url, pars={}, **augment):
qs = parstring(pars, **augment)
if qs != "":
def parurl(url, pars={}, **augment):
qs = parstring(pars, **augment)
if qs != "":
- return url +
"?"
+ qs
+ return url +
("&" if "?" in url else "?")
+ qs
else:
return url
else:
return url