]> granicus.if.org Git - python/commitdiff
Added quote_plus() and unquote_plus(), to do space/plus substitutions
authorGuido van Rossum <guido@python.org>
Fri, 13 Dec 1996 14:47:36 +0000 (14:47 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 13 Dec 1996 14:47:36 +0000 (14:47 +0000)
for form field values.

Lib/urllib.py

index 0644ecdd70225287a4c8f09cf8578d0637eb922e..e44f6b1435d3b70ba7eedda272eba18cb5192549 100644 (file)
@@ -693,6 +693,12 @@ def unquote(s):
                i = j+3
        return string.joinfields(res, '')
 
+def unquote_plus(s):
+    if '+' in s:
+       import regsub
+       s = regsub.gsub('+', ' ', s)
+    return unquote(s)
+
 always_safe = string.letters + string.digits + '_,.-'
 def quote(s, safe = '/'):
        safe = always_safe + safe
@@ -704,6 +710,14 @@ def quote(s, safe = '/'):
                        res.append('%%%02x' % ord(c))
        return string.joinfields(res, '')
 
+def quote_plus(s, safe = '/'):
+    if ' ' in s:
+       import regsub
+       s = regsub.gsub(' ', '+', s)
+       return quote(s, safe + '+')
+    else:
+       return quote(s, safe)
+
 
 # Proxy handling
 def getproxies():