From 71ac945321dbb10279aaff0a88231f9b1f4f1882 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 21 Mar 1996 16:31:41 +0000 Subject: [PATCH] move mac url2path conversion to separate module --- Lib/urllib.py | 51 +-------------------------------------------------- 1 file changed, 1 insertion(+), 50 deletions(-) diff --git a/Lib/urllib.py b/Lib/urllib.py index f036078b89..82a39f2fad 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 -- 2.50.1