diff options
author | Rotuna <sadhanasrinivasan@protonmail.com> | 2020-05-25 19:42:28 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-25 19:42:28 (GMT) |
commit | 448325369ff73011d34d6c3a493014fe3ead8843 (patch) | |
tree | 7e29a28818767b44b71ce0b7cac31a3317e68e48 | |
parent | 2377a9bae3f698efaa81ff0426d0feb14c9f6329 (diff) | |
download | cpython-448325369ff73011d34d6c3a493014fe3ead8843.zip cpython-448325369ff73011d34d6c3a493014fe3ead8843.tar.gz cpython-448325369ff73011d34d6c3a493014fe3ead8843.tar.bz2 |
bpo-23082: Better error message for PurePath.relative_to() from pathlib (GH-19611)
Co-authored-by: Sadhana Srinivasan <rotuna@Sadhanas-MBP.fritz.box>
-rw-r--r-- | Doc/library/pathlib.rst | 4 | ||||
-rw-r--r-- | Lib/pathlib.py | 3 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2020-04-20-22-08-36.bpo-23082.iX90Id.rst | 1 |
3 files changed, 6 insertions, 2 deletions
diff --git a/Doc/library/pathlib.rst b/Doc/library/pathlib.rst index 83f7c83..bf6fee4 100644 --- a/Doc/library/pathlib.rst +++ b/Doc/library/pathlib.rst @@ -551,7 +551,9 @@ Pure paths provide the following methods and properties: File "<stdin>", line 1, in <module> File "pathlib.py", line 694, in relative_to .format(str(self), str(formatted))) - ValueError: '/etc/passwd' does not start with '/usr' + ValueError: '/etc/passwd' is not in the subpath of '/usr' OR one path is relative and the other absolute. + + NOTE: This function is part of :class:`PurePath` and works with strings. It does not check or access the underlying file structure. .. method:: PurePath.with_name(name) diff --git a/Lib/pathlib.py b/Lib/pathlib.py index f98d69e..9f5e27b 100644 --- a/Lib/pathlib.py +++ b/Lib/pathlib.py @@ -922,7 +922,8 @@ class PurePath(object): cf = self._flavour.casefold_parts if (root or drv) if n == 0 else cf(abs_parts[:n]) != cf(to_abs_parts): formatted = self._format_parsed_parts(to_drv, to_root, to_parts) - raise ValueError("{!r} does not start with {!r}" + raise ValueError("{!r} is not in the subpath of {!r}" + " OR one path is relative and the other is absolute." .format(str(self), str(formatted))) return self._from_parsed_parts('', root if n == 1 else '', abs_parts[n:]) diff --git a/Misc/NEWS.d/next/Library/2020-04-20-22-08-36.bpo-23082.iX90Id.rst b/Misc/NEWS.d/next/Library/2020-04-20-22-08-36.bpo-23082.iX90Id.rst new file mode 100644 index 0000000..13ed0de --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-04-20-22-08-36.bpo-23082.iX90Id.rst @@ -0,0 +1 @@ +Updated the error message and docs of PurePath.relative_to() to better reflect the function behaviour.
\ No newline at end of file |