]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Sjoerd Mullender writes:
authorGuido van Rossum <guido@python.org>
Thu, 18 Mar 1999 14:21:41 +0000 (14:21 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 18 Mar 1999 14:21:41 +0000 (14:21 +0000)
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.

Lib/nturl2path.py

index d86bbc2e89d802f609cf9ef4dc7b6b368a4306da..8c02049275a42fe279ff215369896d60d5662af8 100644 (file)
@@ -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, ':')