diff options
author | Bar Harel <bzvi7919@gmail.com> | 2019-12-22 09:57:27 (GMT) |
---|---|---|
committer | Ivan Levkivskyi <levkivskyi@gmail.com> | 2019-12-22 09:57:27 (GMT) |
commit | eae87e3e4e0cb9a0ce10c2e101acb6995d79e09c (patch) | |
tree | 29c538b5b8708fe4410537ea5b81e1d8c08d222a /Lib/os.py | |
parent | f522a6ddb67a238bab5673608111f74ec4e22205 (diff) | |
download | cpython-eae87e3e4e0cb9a0ce10c2e101acb6995d79e09c.zip cpython-eae87e3e4e0cb9a0ce10c2e101acb6995d79e09c.tar.gz cpython-eae87e3e4e0cb9a0ce10c2e101acb6995d79e09c.tar.bz2 |
bpo-38878: Fix os.PathLike __subclasshook__ (GH-17336)
Quick subclasshook fix using the same method is being used in collections.abc (up to a certain degree).
Diffstat (limited to 'Lib/os.py')
-rw-r--r-- | Lib/os.py | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -26,6 +26,8 @@ import abc import sys import stat as st +from _collections_abc import _check_methods + _names = sys.builtin_module_names # Note: more names are added to __all__ later. @@ -1070,7 +1072,9 @@ class PathLike(abc.ABC): @classmethod def __subclasshook__(cls, subclass): - return hasattr(subclass, '__fspath__') + if cls is PathLike: + return _check_methods(subclass, '__fspath__') + return NotImplemented def __class_getitem__(cls, type): return cls |