From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 21 May 2021 17:52:24 +0000 (-0700) Subject: [3.10] bpo-43643: Sync with python/importlib_resources@c17a610aad. (GH-26284) (GH... X-Git-Tag: v3.10.0b2~55 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fdb65e399ea4e2d13dd41d65662ba25cafe15f1d;p=thirdparty%2FPython%2Fcpython.git [3.10] bpo-43643: Sync with python/importlib_resources@c17a610aad. (GH-26284) (GH-26286) * [bpo-43643](): Sync with python/importlib_resources@c17a610aad. * Sync with python/importlib_resources@89fd5e961a. (cherry picked from commit 875b3d84b3072b2d3c352ad9f0ff52c441fbd12e) Co-authored-by: Jason R. Coombs Automerge-Triggered-By: GH:jaraco --- diff --git a/Lib/importlib/_common.py b/Lib/importlib/_common.py index 03383048ad73..ed509971ce71 100644 --- a/Lib/importlib/_common.py +++ b/Lib/importlib/_common.py @@ -7,7 +7,7 @@ import types 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 @@ Package = Union[types.ModuleType, str] def files(package): + # type: (Package) -> Traversable """ Get a Traversable resource from a package """ diff --git a/Lib/importlib/readers.py b/Lib/importlib/readers.py index 535c8283e908..3e91c1cae675 100644 --- a/Lib/importlib/readers.py +++ b/Lib/importlib/readers.py @@ -96,6 +96,7 @@ class MultiplexedPath(abc.Traversable): 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 b0bf49b8ba7f..ed1f6be717b7 100644 --- a/Lib/test/test_importlib/test_reader.py +++ b/Lib/test/test_importlib/test_reader.py @@ -82,6 +82,12 @@ class MultiplexedPathTest(unittest.TestCase): "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 000000000000..57157dfe217e --- /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.