[Python-checkins] cpython: Issue #29197: Removed deprecated function ntpath.splitunc().

serhiy.storchaka python-checkins at python.org
Fri Jan 13 13:55:42 EST 2017


https://hg.python.org/cpython/rev/2be38927ea61
changeset:   106135:2be38927ea61
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Fri Jan 13 20:55:05 2017 +0200
summary:
  Issue #29197: Removed deprecated function ntpath.splitunc().

files:
  Doc/library/os.path.rst |  13 -------------
  Doc/whatsnew/3.7.rst    |   4 ++++
  Lib/ntpath.py           |  24 +-----------------------
  Lib/test/test_ntpath.py |  25 +------------------------
  Misc/NEWS               |   4 +++-
  5 files changed, 9 insertions(+), 61 deletions(-)


diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst
--- a/Doc/library/os.path.rst
+++ b/Doc/library/os.path.rst
@@ -453,19 +453,6 @@
       Accepts a :term:`path-like object`.
 
 
-.. function:: splitunc(path)
-
-   .. deprecated:: 3.1
-      Use *splitdrive* instead.
-
-   Split the pathname *path* into a pair ``(unc, rest)`` so that *unc* is the UNC
-   mount point (such as ``r'\\host\mount'``), if present, and *rest* the rest of
-   the path (such as  ``r'\path\file.ext'``).  For paths containing drive letters,
-   *unc* will always be the empty string.
-
-   Availability:  Windows.
-
-
 .. data:: supports_unicode_filenames
 
    ``True`` if arbitrary Unicode strings can be used as file names (within limitations
diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst
--- a/Doc/whatsnew/3.7.rst
+++ b/Doc/whatsnew/3.7.rst
@@ -142,6 +142,10 @@
 * Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`.
   Use the *filter* argument instead.
 
+* The ``splitunc()`` function in the :mod:`ntpath` module was deprecated in
+  Python 3.1, and has now been removed.  Use the :func:`~os.path.splitdrive`
+  function instead.
+
 
 Porting to Python 3.7
 =====================
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -15,7 +15,7 @@
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","getctime", "islink","exists","lexists","isdir","isfile",
            "ismount", "expanduser","expandvars","normpath","abspath",
-           "splitunc","curdir","pardir","sep","pathsep","defpath","altsep",
+           "curdir","pardir","sep","pathsep","defpath","altsep",
            "extsep","devnull","realpath","supports_unicode_filenames","relpath",
            "samefile", "sameopenfile", "samestat", "commonpath"]
 
@@ -169,28 +169,6 @@
     return p[:0], p
 
 
-# Parse UNC paths
-def splitunc(p):
-    """Deprecated since Python 3.1.  Please use splitdrive() instead;
-    it now handles UNC paths.
-
-    Split a pathname into UNC mount point and relative path specifiers.
-
-    Return a 2-tuple (unc, rest); either part may be empty.
-    If unc is not empty, it has the form '//host/mount' (or similar
-    using backslashes).  unc+rest is always the input path.
-    Paths containing drive letters never have a UNC part.
-    """
-    import warnings
-    warnings.warn("ntpath.splitunc is deprecated, use ntpath.splitdrive instead",
-                  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
 # rest).  After the trailing '/' is stripped, the invariant
 # join(head, tail) == p holds.
diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py
--- a/Lib/test/test_ntpath.py
+++ b/Lib/test/test_ntpath.py
@@ -72,29 +72,6 @@
         self.assertEqual(ntpath.splitdrive('//conky/MOUNTPOİNT/foo/bar'),
                          ('//conky/MOUNTPOİNT', '/foo/bar'))
 
-    def test_splitunc(self):
-        with self.assertWarns(DeprecationWarning):
-            ntpath.splitunc('')
-        with support.check_warnings(('', DeprecationWarning)):
-            tester('ntpath.splitunc("c:\\foo\\bar")',
-                   ('', 'c:\\foo\\bar'))
-            tester('ntpath.splitunc("c:/foo/bar")',
-                   ('', 'c:/foo/bar'))
-            tester('ntpath.splitunc("\\\\conky\\mountpoint\\foo\\bar")',
-                   ('\\\\conky\\mountpoint', '\\foo\\bar'))
-            tester('ntpath.splitunc("//conky/mountpoint/foo/bar")',
-                   ('//conky/mountpoint', '/foo/bar'))
-            tester('ntpath.splitunc("\\\\\\conky\\mountpoint\\foo\\bar")',
-                   ('', '\\\\\\conky\\mountpoint\\foo\\bar'))
-            tester('ntpath.splitunc("///conky/mountpoint/foo/bar")',
-                   ('', '///conky/mountpoint/foo/bar'))
-            tester('ntpath.splitunc("\\\\conky\\\\mountpoint\\foo\\bar")',
-                   ('', '\\\\conky\\\\mountpoint\\foo\\bar'))
-            tester('ntpath.splitunc("//conky//mountpoint/foo/bar")',
-                   ('', '//conky//mountpoint/foo/bar'))
-            self.assertEqual(ntpath.splitunc('//conky/MOUNTPOİNT/foo/bar'),
-                             ('//conky/MOUNTPOİNT', '/foo/bar'))
-
     def test_split(self):
         tester('ntpath.split("c:\\foo\\bar")', ('c:\\foo', 'bar'))
         tester('ntpath.split("\\\\conky\\mountpoint\\foo\\bar")',
@@ -449,7 +426,7 @@
 
 class NtCommonTest(test_genericpath.CommonTest, unittest.TestCase):
     pathmodule = ntpath
-    attributes = ['relpath', 'splitunc']
+    attributes = ['relpath']
 
 
 class PathLikeTests(unittest.TestCase):
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -212,7 +212,9 @@
 Library
 -------
 
-- Issue #29210:  Removed support of deprecated argument "exclude" in
+- Issue #29197: Removed deprecated function ntpath.splitunc().
+
+- Issue #29210: Removed support of deprecated argument "exclude" in
   tarfile.TarFile.add().
 
 - Issue #29219: Fixed infinite recursion in the repr of uninitialized

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list