From d544cc7f41257d9fdd485eb98d76f20fa58a8422 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 21 May 2021 12:11:54 -0400 Subject: [PATCH 1/2] bpo-43643: Sync with python/importlib_resources@c17a610aad. --- Lib/importlib/readers.py | 1 + Lib/test/test_importlib/test_reader.py | 6 ++++++ .../next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst | 1 + 3 files changed, 8 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst diff --git a/Lib/importlib/readers.py b/Lib/importlib/readers.py index 535c8283e9081d..3e91c1cae6758b 100644 --- a/Lib/importlib/readers.py +++ b/Lib/importlib/readers.py @@ -96,6 +96,7 @@ def joinpath(self, child): def open(self, *args, **kwargs): raise FileNotFoundError('{} is not a file'.format(self)) + @property def name(self): return self._paths[0].name diff --git a/Lib/test/test_importlib/test_reader.py b/Lib/test/test_importlib/test_reader.py index b0bf49b8ba7f28..ed1f6be717b7e3 100644 --- a/Lib/test/test_importlib/test_reader.py +++ b/Lib/test/test_importlib/test_reader.py @@ -82,6 +82,12 @@ def test_repr(self): "MultiplexedPath('{}')".format(self.folder), ) + def test_name(self): + self.assertEqual( + MultiplexedPath(self.folder).name, + os.path.basename(self.folder), + ) + class NamespaceReaderTest(unittest.TestCase): site_dir = str(pathlib.Path(__file__).parent) diff --git a/Misc/NEWS.d/next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst b/Misc/NEWS.d/next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst new file mode 100644 index 00000000000000..57157dfe217ee5 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst @@ -0,0 +1 @@ +Declare readers.MultiplexedPath.name as a property per the spec. From 6d72892ee28cd1a58ee0b1179f2ed40854e79392 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 21 May 2021 12:31:10 -0400 Subject: [PATCH 2/2] Sync with python/importlib_resources@89fd5e961a. --- Lib/importlib/_common.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/importlib/_common.py b/Lib/importlib/_common.py index 03383048ad7365..ed509971ce718f 100644 --- a/Lib/importlib/_common.py +++ b/Lib/importlib/_common.py @@ -7,7 +7,7 @@ import importlib from typing import Union, Any, Optional -from .abc import ResourceReader +from .abc import ResourceReader, Traversable from ._adapters import wrap_spec @@ -15,6 +15,7 @@ def files(package): + # type: (Package) -> Traversable """ Get a Traversable resource from a package """