diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2013-12-16 13:13:28 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2013-12-16 13:13:28 (GMT) |
commit | 593568bf47600154b760edf21f22090ff60a2a74 (patch) | |
tree | 22ec31ee65e7cac5098aae53536198712ff2a348 /Lib/ntpath.py | |
parent | 3d7e11520e5993b2adf9b809a8342084053988ae (diff) | |
download | cpython-593568bf47600154b760edf21f22090ff60a2a74.zip cpython-593568bf47600154b760edf21f22090ff60a2a74.tar.gz cpython-593568bf47600154b760edf21f22090ff60a2a74.tar.bz2 |
Issue #19912: Fixed numerous bugs in ntpath.splitunc().
* splitunc() no more return illegal result for paths with redundant slashes.
* splitunc() now correctly processes the 'İ' character
(U+0130, LATIN CAPITAL LETTER I WITH DOT ABOVE).
* Deprecation warnings now emitted for every use of splitunc().
* Added tests for splitunc().
Diffstat (limited to 'Lib/ntpath.py')
-rw-r--r-- | Lib/ntpath.py | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/Lib/ntpath.py b/Lib/ntpath.py index 598c64f..b05436e 100644 --- a/Lib/ntpath.py +++ b/Lib/ntpath.py @@ -243,26 +243,12 @@ def splitunc(p): """ import warnings warnings.warn("ntpath.splitunc is deprecated, use ntpath.splitdrive instead", - DeprecationWarning) - sep = _get_sep(p) - if not p[1:2]: - return p[:0], p # Drive letter present - firstTwo = p[0:2] - if normcase(firstTwo) == sep + sep: - # is a UNC path: - # vvvvvvvvvvvvvvvvvvvv equivalent to drive letter - # \\machine\mountpoint\directories... - # directory ^^^^^^^^^^^^^^^ - normp = normcase(p) - index = normp.find(sep, 2) - if index == -1: - ##raise RuntimeError, 'illegal UNC path: "' + p + '"' - return (p[:0], p) - index = normp.find(sep, index + 1) - if index == -1: - index = len(p) - return p[:index], p[index:] - return p[:0], p + DeprecationWarning, 2) + drive, path = splitdrive(p) + if len(drive) == 2: + # Drive letter present + return p[:0], p + return drive, path # Split a path in head (everything up to the last '/') and tail (the |