diff options
| author | Senthil Kumaran <orsenthil@gmail.com> | 2010-03-18 12:14:15 (GMT) |
|---|---|---|
| committer | Senthil Kumaran <orsenthil@gmail.com> | 2010-03-18 12:14:15 (GMT) |
| commit | f3e9b2a996d9f18bf7060e0bff85c02bee47c490 (patch) | |
| tree | f31606afa4463772a7591c526d90af64fe790e9c /Lib/urlparse.py | |
| parent | 43fe03a2062c8eb3b688a28cd9174a14a43eecf3 (diff) | |
| download | cpython-f3e9b2a996d9f18bf7060e0bff85c02bee47c490.zip cpython-f3e9b2a996d9f18bf7060e0bff85c02bee47c490.tar.gz cpython-f3e9b2a996d9f18bf7060e0bff85c02bee47c490.tar.bz2 | |
Fix for Issue8135 - urllib.unquote to support mixed percent escapes
Diffstat (limited to 'Lib/urlparse.py')
| -rw-r--r-- | Lib/urlparse.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/urlparse.py b/Lib/urlparse.py index 1d065d3..f6e20af 100644 --- a/Lib/urlparse.py +++ b/Lib/urlparse.py @@ -272,8 +272,9 @@ def urldefrag(url): # Cannot use directly from urllib as it would create circular reference. # urllib uses urlparse methods ( urljoin) -_hextochr = dict(('%02x' % i, chr(i)) for i in range(256)) -_hextochr.update(('%02X' % i, chr(i)) for i in range(256)) + +_hexdig = '0123456789ABCDEFabcdef' +_hextochr = dict((a+b, chr(int(a+b,16))) for a in _hexdig for b in _hexdig) def unquote(s): """unquote('abc%20def') -> 'abc def'.""" |
