From: Guido van Rossum Date: Fri, 13 Dec 1996 14:47:36 +0000 (+0000) Subject: Added quote_plus() and unquote_plus(), to do space/plus substitutions X-Git-Tag: v1.5a1~761 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0564e12367dc10349cd5596bdbe9bbcb44e112c2;p=python Added quote_plus() and unquote_plus(), to do space/plus substitutions for form field values. --- diff --git a/Lib/urllib.py b/Lib/urllib.py index 0644ecdd70..e44f6b1435 100644 --- a/Lib/urllib.py +++ b/Lib/urllib.py @@ -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():