diff options
author | Guido van Rossum <guido@python.org> | 1996-03-21 16:31:41 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-03-21 16:31:41 (GMT) |
commit | 71ac945321dbb10279aaff0a88231f9b1f4f1882 (patch) | |
tree | c47d45bb475d7c90b5e2b8a17d81b6956c60ba79 /Lib/urllib.py | |
parent | 857e88eab58a52976db448ab9664fbdcbacb88a9 (diff) | |
download | cpython-71ac945321dbb10279aaff0a88231f9b1f4f1882.zip cpython-71ac945321dbb10279aaff0a88231f9b1f4f1882.tar.gz cpython-71ac945321dbb10279aaff0a88231f9b1f4f1882.tar.bz2 |
move mac url2path conversion to separate module
Diffstat (limited to 'Lib/urllib.py')
-rw-r--r-- | Lib/urllib.py | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/Lib/urllib.py b/Lib/urllib.py index f036078..82a39f2 100644 --- a/Lib/urllib.py +++ b/Lib/urllib.py @@ -24,56 +24,7 @@ __version__ = '1.3' # Helper for non-unix systems if os.name == 'mac': - def url2pathname(pathname): - "Convert /-delimited pathname to mac pathname" - # - # XXXX The .. handling should be fixed... - # - tp = splittype(pathname)[0] - if tp and tp <> 'file': - raise RuntimeError, 'Cannot convert non-local URL to pathname' - components = string.split(pathname, '/') - # Remove . and embedded .. - i = 0 - while i < len(components): - if components[i] == '.': - del components[i] - elif components[i] == '..' and i > 0 and \ - components[i-1] not in ('', '..'): - del components[i-1:i+1] - i = i-1 - elif components[i] == '' and i > 0 and components[i-1] <> '': - del components[i] - else: - i = i+1 - if not components[0]: - # Absolute unix path, don't start with colon - return string.join(components[1:], ':') - else: - # relative unix path, start with colon. First replace - # leading .. by empty strings (giving ::file) - i = 0 - while i < len(components) and components[i] == '..': - components[i] = '' - i = i + 1 - return ':' + string.join(components, ':') - - def pathname2url(pathname): - "convert mac pathname to /-delimited pathname" - if '/' in pathname: - raise RuntimeError, "Cannot convert pathname containing slashes" - components = string.split(pathname, ':') - # Replace empty string ('::') by .. (will result in '/../' later) - for i in range(1, len(components)): - if components[i] == '': - components[i] = '..' - # Truncate names longer than 31 bytes - components = map(lambda x: x[:31], components) - - if os.path.isabs(pathname): - return '/' + string.join(components, '/') - else: - return string.join(components, '/') + from macurl2path import url2pathname, pathname2url else: def url2pathname(pathname): return pathname |