From: Guido van Rossum Date: Thu, 18 Mar 1999 14:21:41 +0000 (+0000) Subject: Sjoerd Mullender writes: X-Git-Tag: v1.5.2c1~133 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a0fec1637b88fd63849b1810874714d4f1d09000;p=thirdparty%2FPython%2Fcpython.git Sjoerd Mullender writes: Pathnames of files on other hosts in the same domain (\\host\path\to\file) are not translated correctly to URLs and back. The URL should be something like file:////host/path/to/file. Note that a combination of drive letter and remote host is not possible. --- diff --git a/Lib/nturl2path.py b/Lib/nturl2path.py index d86bbc2e89d8..8c02049275a4 100644 --- a/Lib/nturl2path.py +++ b/Lib/nturl2path.py @@ -13,6 +13,11 @@ def url2pathname(url): import string, urllib if not '|' in url: # No drive specifier, just convert slashes + if url[:4] == '////': + # path is something like ////host/path/on/remote/host + # convert this to \\host\path\on\remote\host + # (notice halving of slashes at the start of the path) + url = url[2:] components = string.split(url, '/') # make sure not to convert quoted slashes :-) return urllib.unquote(string.join(components, '\\')) @@ -41,6 +46,11 @@ def pathname2url(p): import string, urllib if not ':' in p: # No drive specifier, just convert slashes and quote the name + if p[:2] == '\\\\': + # path is something like \\host\path\on\remote\host + # convert this to ////host/path/on/remote/host + # (notice doubling of slashes at the start of the path) + p = '\\\\' + p components = string.split(p, '\\') return urllib.quote(string.join(components, '/')) comp = string.split(p, ':')