Allow parurl to append to URLs that already have a query-string.
[wrw.git] / wrw / proto.py
index ad1775a..628bfc9 100644 (file)
@@ -106,7 +106,7 @@ def urlq(url):
     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
@@ -192,7 +192,7 @@ def parstring(pars={}, **augment):
 def parurl(url, pars={}, **augment):
     qs = parstring(pars, **augment)
     if qs != "":
-        return url + "?" + qs
+        return url + ("&" if "?" in url else "?") + qs
     else:
         return url