[Python-checkins] python/dist/src/Lib httplib.py,1.34.2.6,1.34.2.7 urlparse.py,1.29.4.1,1.29.4.2
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Wed, 08 Jan 2003 21:43:10 -0800
Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1:/tmp/cvs-serv1803
Modified Files:
Tag: release21-maint
httplib.py urlparse.py
Log Message:
Roll back the introduction of urlsplit() and urlunsplit() to
urlparse.py. These were new features in 2.2, and shouldn't be added
to 2.1 this late in the game. There was one use of urlsplit() in
httplib.py (the urlparse.py change was done as part of a backport of a
bugfix to httplib.py); this use is replaced with a call to urlparse()
without changing the effect (only the returned netloc is used).
Index: httplib.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/httplib.py,v
retrieving revision 1.34.2.6
retrieving revision 1.34.2.7
diff -C2 -d -r1.34.2.6 -r1.34.2.7
*** httplib.py 29 Aug 2002 20:12:26 -0000 1.34.2.6
--- httplib.py 9 Jan 2003 05:43:08 -0000 1.34.2.7
***************
*** 70,74 ****
import mimetools
import socket
! from urlparse import urlsplit
try:
--- 70,74 ----
import mimetools
import socket
! from urlparse import urlparse
try:
***************
*** 611,615 ****
netloc = ''
if url.startswith('http'):
! nil, netloc, nil, nil, nil = urlsplit(url)
if netloc:
--- 611,615 ----
netloc = ''
if url.startswith('http'):
! nil, netloc, nil, nil, nil, nil = urlparse(url)
if netloc:
Index: urlparse.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/urlparse.py,v
retrieving revision 1.29.4.1
retrieving revision 1.29.4.2
diff -C2 -d -r1.29.4.1 -r1.29.4.2
*** urlparse.py 2 Jul 2002 20:42:50 -0000 1.29.4.1
--- urlparse.py 9 Jan 2003 05:43:08 -0000 1.29.4.2
***************
*** 44,48 ****
! def urlparse(url, scheme='', allow_fragments=1):
"""Parse a URL into 6 components:
<scheme>://<netloc>/<path>;<params>?<query>#<fragment>
--- 44,48 ----
! def urlparse(url, scheme = '', allow_fragments = 1):
"""Parse a URL into 6 components:
<scheme>://<netloc>/<path>;<params>?<query>#<fragment>
***************
*** 50,76 ****
Note that we don't break the components up in smaller bits
(e.g. netloc is a single string) and we don't expand % escapes."""
- tuple = urlsplit(url, scheme, allow_fragments)
- scheme, netloc, url, query, fragment = tuple
- if scheme in uses_params and ';' in url:
- url, params = _splitparams(url)
- else:
- params = ''
- return scheme, netloc, url, params, query, fragment
-
- def _splitparams(url):
- if '/' in url:
- i = url.find(';', url.rfind('/'))
- if i < 0:
- return url, ''
- else:
- i = url.find(';')
- return url[:i], url[i+1:]
-
- def urlsplit(url, scheme='', allow_fragments=1):
- """Parse a URL into 5 components:
- <scheme>://<netloc>/<path>?<query>#<fragment>
- Return a 5-tuple: (scheme, netloc, path, query, fragment).
- Note that we don't break the components up in smaller bits
- (e.g. netloc is a single string) and we don't expand % escapes."""
key = url, scheme, allow_fragments
cached = _parse_cache.get(key, None)
--- 50,53 ----
***************
*** 79,83 ****
if len(_parse_cache) >= MAX_CACHE_SIZE: # avoid runaway growth
clear_cache()
! netloc = query = fragment = ''
i = url.find(':')
if i > 0:
--- 56,60 ----
if len(_parse_cache) >= MAX_CACHE_SIZE: # avoid runaway growth
clear_cache()
! netloc = path = params = query = fragment = ''
i = url.find(':')
if i > 0:
***************
*** 88,101 ****
i = url.find('/', 2)
if i < 0:
! i = url.find('#')
! if i < 0:
! i = len(url)
netloc = url[2:i]
url = url[i:]
! if allow_fragments and '#' in url:
! url, fragment = url.split('#', 1)
! if '?' in url:
! url, query = url.split('?', 1)
! tuple = scheme, netloc, url, query, fragment
_parse_cache[key] = tuple
return tuple
--- 65,85 ----
i = url.find('/', 2)
if i < 0:
! i = len(url)
netloc = url[2:i]
url = url[i:]
! if allow_fragments:
! i = url.rfind('#')
! if i >= 0:
! fragment = url[i+1:]
! url = url[:i]
! i = url.find('?')
! if i >= 0:
! query = url[i+1:]
! url = url[:i]
! i = url.find(';')
! if i >= 0:
! params = url[i+1:]
! url = url[:i]
! tuple = scheme, netloc, url, params, query, fragment
_parse_cache[key] = tuple
return tuple
***************
*** 111,119 ****
i = len(url)
netloc, url = url[2:i], url[i:]
! if allow_fragments and scheme in uses_fragment and '#' in url:
! url, fragment = url.split('#', 1)
! if scheme in uses_query and '?' in url:
! url, query = url.split('?', 1)
! tuple = scheme, netloc, url, query, fragment
_parse_cache[key] = tuple
return tuple
--- 95,111 ----
i = len(url)
netloc, url = url[2:i], url[i:]
! if allow_fragments and scheme in uses_fragment:
! i = url.rfind('#')
! if i >= 0:
! url, fragment = url[:i], url[i+1:]
! if scheme in uses_query:
! i = url.find('?')
! if i >= 0:
! url, query = url[:i], url[i+1:]
! if scheme in uses_params:
! i = url.find(';')
! if i >= 0:
! url, params = url[:i], url[i+1:]
! tuple = scheme, netloc, url, params, query, fragment
_parse_cache[key] = tuple
return tuple
***************
*** 124,132 ****
originally had redundant delimiters, e.g. a ? with an empty query
(the draft states that these are equivalent)."""
- if params:
- url = "%s;%s" % (url, params)
- return urlunsplit((scheme, netloc, url, query, fragment))
-
- def urlunsplit((scheme, netloc, url, query, fragment)):
if netloc or (scheme in uses_netloc and url[:2] == '//'):
if url and url[:1] != '/': url = '/' + url
--- 116,119 ----
***************
*** 134,137 ****
--- 121,126 ----
if scheme:
url = scheme + ':' + url
+ if params:
+ url = url + ';' + params
if query:
url = url + '?' + query
***************
*** 199,208 ****
empty string.
"""
! if '#' in url:
! s, n, p, a, q, frag = urlparse(url)
! defrag = urlunparse((s, n, p, a, q, ''))
! return defrag, frag
! else:
! return url, ''
--- 188,194 ----
empty string.
"""
! s, n, p, a, q, frag = urlparse(url)
! defrag = urlunparse((s, n, p, a, q, ''))
! return defrag, frag