[Python-Dev] [Python-checkins] python/dist/src/Lib urllib.py, 1.169, 1.170

Peter Otten __peter__ at web.de
Sat Sep 10 09:22:59 CEST 2005


Am Samstag, 10. September 2005 04:27 schrieb rhettinger at users.sourceforge.net:
> Update of /cvsroot/python/python/dist/src/Lib
> In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3622
>> Modified Files:
> 	urllib.py
> Log Message:
> Simplify and speed-up quote_plus().
>> Index: urllib.py
> ===================================================================
> RCS file: /cvsroot/python/python/dist/src/Lib/urllib.py,v
> retrieving revision 1.169
> retrieving revision 1.170
> diff -u -d -r1.169 -r1.170
> --- urllib.py	9 Sep 2005 22:27:13 -0000	1.169
> +++ urllib.py	10 Sep 2005 02:27:41 -0000	1.170
> @@ -1115,12 +1115,9 @@
> def quote_plus(s, safe = ''):
> """Quote the query fragment of a URL; replacing ' ' with '+'"""
> if ' ' in s:
> - l = s.split(' ')
> - for i in range(len(l)):
> - l[i] = quote(l[i], safe)
> - return '+'.join(l)
> - else:
> - return quote(s, safe)
> + s = s.replace(' ', '+')
> + safe += '+'
> + return quote(s, safe)
>> def urlencode(query,doseq=0):
> """Encode a sequence of two-element tuples or dictionary into a URL
> query string.

You also change the behaviour. Before:
>>> urllib.quote_plus("alpha+beta gamma")
'alpha%2Bbeta+gamma'
After:
>>> urllib.quote_plus("alpha+beta gamma")
'alpha+beta+gamma'
Is that intentional? If so, you also have to update the documentation, which 
currently reads:
quote_plus(string[, safe])
... Plus signs in the original string are escaped unless they are included in 
safe. ...
Peter


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /