diff options
author | Brett Cannon <brett@python.org> | 2016-08-26 21:44:48 (GMT) |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2016-08-26 21:44:48 (GMT) |
commit | 3f9183b5aca568867f37c38501fca63911580c66 (patch) | |
tree | 77dbe8fa7c0381c665ed259a94620a860a8f73d7 /Lib/genericpath.py | |
parent | 6ed442c48dd7f8d3097e688a36bc027df3271621 (diff) | |
download | cpython-3f9183b5aca568867f37c38501fca63911580c66.zip cpython-3f9183b5aca568867f37c38501fca63911580c66.tar.gz cpython-3f9183b5aca568867f37c38501fca63911580c66.tar.bz2 |
Issue #26027, #27524: Add PEP 519/__fspath__() support to os and
os.path.
Thanks to Jelle Zijlstra for the initial patch against posixmodule.c.
Diffstat (limited to 'Lib/genericpath.py')
-rw-r--r-- | Lib/genericpath.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/genericpath.py b/Lib/genericpath.py index 6714061..303b3b3 100644 --- a/Lib/genericpath.py +++ b/Lib/genericpath.py @@ -69,6 +69,12 @@ def getctime(filename): def commonprefix(m): "Given a list of pathnames, returns the longest common leading component" if not m: return '' + # Some people pass in a list of pathname parts to operate in an OS-agnostic + # fashion; don't try to translate in that case as that's an abuse of the + # API and they are already doing what they need to be OS-agnostic and so + # they most likely won't be using an os.PathLike object in the sublists. + if not isinstance(m[0], (list, tuple)): + m = tuple(map(os.fspath, m)) s1 = min(m) s2 = max(m) for i, c in enumerate(s1): |