mirror of
https://github.com/python/cpython.git
synced 2025-08-27 12:16:04 +00:00
Make a new urllib package .
It consists of code from urllib, urllib2, urlparse, and robotparser. The old modules have all been removed. The new package has five submodules: urllib.parse, urllib.request, urllib.response, urllib.error, and urllib.robotparser. The urllib.request.urlopen() function uses the url opener from urllib2. Note that the unittests have not been renamed for the beta, but they will be renamed in the future. Joint work with Senthil Kumaran.
This commit is contained in:
parent
a656d2cd89
commit
1afc169616
40 changed files with 3190 additions and 3536 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
Do not import directly; use urllib instead."""
|
||||
|
||||
import urllib
|
||||
import urllib.parse
|
||||
import os
|
||||
|
||||
__all__ = ["url2pathname","pathname2url"]
|
||||
|
@ -13,7 +13,7 @@ def url2pathname(pathname):
|
|||
#
|
||||
# XXXX The .. handling should be fixed...
|
||||
#
|
||||
tp = urllib.splittype(pathname)[0]
|
||||
tp = urllib.parsesplittype(pathname)[0]
|
||||
if tp and tp != 'file':
|
||||
raise RuntimeError('Cannot convert non-local URL to pathname')
|
||||
# Turn starting /// into /, an empty hostname means current host
|
||||
|
@ -47,7 +47,7 @@ def url2pathname(pathname):
|
|||
i = i + 1
|
||||
rv = ':' + ':'.join(components)
|
||||
# and finally unquote slashes and other funny characters
|
||||
return urllib.unquote(rv)
|
||||
return urllib.parseunquote(rv)
|
||||
|
||||
def pathname2url(pathname):
|
||||
"""OS-specific conversion from a file system path to a relative URL
|
||||
|
@ -73,8 +73,8 @@ def pathname2url(pathname):
|
|||
return '/'.join(components)
|
||||
|
||||
def _pncomp2url(component):
|
||||
component = urllib.quote(component[:31], safe='') # We want to quote slashes
|
||||
return component
|
||||
# We want to quote slashes
|
||||
return urllib.parsequote(component[:31], safe='')
|
||||
|
||||
def test():
|
||||
for url in ["index.html",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue