From a0fec1637b88fd63849b1810874714d4f1d09000 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 18 Mar 1999 14:21:41 +0000 Subject: 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. --- Lib/nturl2path.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Lib/nturl2path.py b/Lib/nturl2path.py index d86bbc2..8c02049 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, ':') -- cgit v0.12