[Python-checkins] cpython (3.4): Back out 7e9605697dfc, 2e3c31ab586a, 759b2cecc289.

guido.van.rossum python-checkins at python.org
Thu May 19 16:13:58 EDT 2016


https://hg.python.org/cpython/rev/90e58a77d386
changeset:   101439:90e58a77d386
branch:      3.4
parent:      101211:5cf064bf81fd
user:        Guido van Rossum <guido at python.org>
date:        Thu May 19 13:00:21 2016 -0700
summary:
  Back out 7e9605697dfc, 2e3c31ab586a, 759b2cecc289.

These added a path attribute to pathlib.Path objects, and docs.
Instead, we're going to use PEP 519.

(Starting in the 3.4 branch and merging forward from there since that's what I did originally.)

files:
  Doc/library/pathlib.rst  |  18 ------------------
  Lib/pathlib.py           |   7 -------
  Lib/test/test_pathlib.py |  27 ---------------------------
  Misc/NEWS                |   6 ------
  4 files changed, 0 insertions(+), 58 deletions(-)


diff --git a/Doc/library/pathlib.rst b/Doc/library/pathlib.rst
--- a/Doc/library/pathlib.rst
+++ b/Doc/library/pathlib.rst
@@ -365,24 +365,6 @@
       ''
 
 
-.. data:: PurePath.path
-
-   A string representing the full path::
-
-      >>> PurePosixPath('my/library/setup.py').path
-      'my/library/setup.py'
-
-   This always returns the same value as ``str(p)``; it is included to
-   serve as a one-off protocol.  Code that wants to support both
-   strings and ``pathlib.Path`` objects as filenames can write
-   ``arg = getattr(arg, 'path', arg)`` to get the path as a string.
-   This can then be passed to various system calls or library
-   functions that expect a string.  Unlike the alternative
-   ``arg = str(arg)``, this will still raise an exception if an object
-   of some other type is given by accident.
-
-   .. versionadded:: 3.4.5
-
 .. data:: PurePath.suffix
 
    The file extension of the final component, if any::
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -648,13 +648,6 @@
                                                   self._parts) or '.'
             return self._str
 
-    @property
-    def path(self):
-        try:
-            return self._str
-        except AttributeError:
-            return str(self)
-
     def as_posix(self):
         """Return the string representation of the path with forward (/)
         slashes."""
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -480,22 +480,6 @@
         self.assertEqual(P('a/b.py').name, 'b.py')
         self.assertEqual(P('/a/b.py').name, 'b.py')
 
-    def test_path_common(self):
-        P = self.cls
-        def check(arg, expected=None):
-            if expected is None:
-                expected = arg
-            self.assertEqual(P(arg).path, expected.replace('/', self.sep))
-        check('', '.')
-        check('.')
-        check('/')
-        check('a/b')
-        check('/a/b')
-        check('/a/b/', '/a/b')
-        check('/a/b/.', '/a/b')
-        check('a/b.py')
-        check('/a/b.py')
-
     def test_suffix_common(self):
         P = self.cls
         self.assertEqual(P('').suffix, '')
@@ -919,17 +903,6 @@
         self.assertEqual(P('//My.py/Share.php').name, '')
         self.assertEqual(P('//My.py/Share.php/a/b').name, 'b')
 
-    def test_path(self):
-        P = self.cls
-        self.assertEqual(P('c:').path, 'c:')
-        self.assertEqual(P('c:/').path, 'c:\\')
-        self.assertEqual(P('c:a/b').path, 'c:a\\b')
-        self.assertEqual(P('c:/a/b').path, 'c:\\a\\b')
-        self.assertEqual(P('c:a/b.py').path, 'c:a\\b.py')
-        self.assertEqual(P('c:/a/b.py').path, 'c:\\a\\b.py')
-        self.assertEqual(P('//My.py/Share.php').path, '\\\\My.py\\Share.php\\')
-        self.assertEqual(P('//My.py/Share.php/a/b').path, '\\\\My.py\\Share.php\\a\\b')
-
     def test_suffix(self):
         P = self.cls
         self.assertEqual(P('c:').suffix, '')
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,12 +21,6 @@
 
 - Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
 
-- Issue #22570: Add 'path' attribute to pathlib.Path objects,
-  returning the same as str(), to make it more similar to DirEntry.
-  Library code can now write getattr(p, 'path', p) to get the path as
-  a string from a Path, a DirEntry, or a plain string.  This is
-  essentially a small one-off protocol.
-
 - Issue #26012: Don't traverse into symlinks for ** pattern in
   pathlib.Path.[r]glob().
 

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


More information about the Python-checkins mailing list