From: Jason R. Coombs Date: Sun, 14 Jun 2020 12:12:20 +0000 (-0400) Subject: [3.9] bpo-40924: Remove protocol for supplying Traversable objects from loaders ... X-Git-Tag: v3.9.0b4~88 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8a3469047c3c7b68f434ed244ef3ae4292dd8cbc;p=thirdparty%2FPython%2Fcpython.git [3.9] bpo-40924: Remove protocol for supplying Traversable objects from loaders (GH-20820) Remove protocol that loaders can present a files method as found in importlib_resources 1.3-1.6 (added in Python 3.8b1). --- diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index 99bfeacbbc74..201f813b7685 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -813,9 +813,6 @@ ABC hierarchy:: methods. Therefore, any loader supplying TraversableReader also supplies ResourceReader. - Loaders that wish to support resource reading are expected to - implement this interface. - .. versionadded:: 3.9 diff --git a/Lib/importlib/_common.py b/Lib/importlib/_common.py index ba7cbac3c9bf..c1204f0b8f94 100644 --- a/Lib/importlib/_common.py +++ b/Lib/importlib/_common.py @@ -11,17 +11,7 @@ def from_package(package): Return a Traversable object for the given package. """ - spec = package.__spec__ - return from_traversable_resources(spec) or fallback_resources(spec) - - -def from_traversable_resources(spec): - """ - If the spec.loader implements TraversableResources, - directly or implicitly, it will have a ``files()`` method. - """ - with contextlib.suppress(AttributeError): - return spec.loader.files() + return fallback_resources(package.__spec__) def fallback_resources(spec): diff --git a/Misc/NEWS.d/next/Library/2020-06-11-23-41-50.bpo-40924.m17Fkm.rst b/Misc/NEWS.d/next/Library/2020-06-11-23-41-50.bpo-40924.m17Fkm.rst new file mode 100644 index 000000000000..9621dd69b459 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-06-11-23-41-50.bpo-40924.m17Fkm.rst @@ -0,0 +1 @@ +Removed support for loaders implementing .files and supplying TraversableResources. \ No newline at end of file