]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.9] bpo-40924: Remove protocol for supplying Traversable objects from loaders ...
authorJason R. Coombs <jaraco@jaraco.com>
Sun, 14 Jun 2020 12:12:20 +0000 (08:12 -0400)
committerGitHub <noreply@github.com>
Sun, 14 Jun 2020 12:12:20 +0000 (14:12 +0200)
Remove protocol that loaders can present a files method as found in importlib_resources 1.3-1.6 (added in Python 3.8b1).

Doc/library/importlib.rst
Lib/importlib/_common.py
Misc/NEWS.d/next/Library/2020-06-11-23-41-50.bpo-40924.m17Fkm.rst [new file with mode: 0644]

index 99bfeacbbc740711b525f39ee1ee7867df4b2fa3..201f813b76852be79d42dd4ef7e4620746d62bd2 100644 (file)
@@ -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
 
 
index ba7cbac3c9bfda7624235add2bd51bba15134b25..c1204f0b8f94b33dc5d17ee19dcd561d607ed866 100644 (file)
@@ -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 (file)
index 0000000..9621dd6
--- /dev/null
@@ -0,0 +1 @@
+Removed support for loaders implementing .files and supplying TraversableResources.
\ No newline at end of file