[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