]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Slightly faster (un)quoting.
authorGuido van Rossum <guido@python.org>
Mon, 26 Aug 1996 15:56:12 +0000 (15:56 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 26 Aug 1996 15:56:12 +0000 (15:56 +0000)
Lib/urllib.py

index 63e41829e4dedfbeb6fed3118a6ee180167b323c..f1756e2dfe1405e97eebab02f8701a54a06a99f9 100644 (file)
@@ -642,26 +642,26 @@ _quoteprog = regex.compile('%[0-9a-fA-F][0-9a-fA-F]')
 def unquote(s):
        i = 0
        n = len(s)
-       res = ''
+       res = []
        while 0 <= i < n:
                j = _quoteprog.search(s, i)
                if j < 0:
-                       res = res + s[i:]
+                       res.append(s[i:])
                        break
-               res = res + (s[i:j] + chr(string.atoi(s[j+1:j+3], 16)))
+               res.append(s[i:j] + chr(string.atoi(s[j+1:j+3], 16)))
                i = j+3
-       return res
+       return string.joinfields(res, '')
 
 always_safe = string.letters + string.digits + '_,.-'
 def quote(s, safe = '/'):
        safe = always_safe + safe
-       res = ''
+       res = []
        for c in s:
                if c in safe:
-                       res = res + c
+                       res.append(c)
                else:
-                       res = res + '%%%02x' % ord(c)
-       return res
+                       res.append('%%%02x' % ord(c))
+       return string.joinfields(res, '')
 
 
 # Proxy handling