Skip to content

Commit

Permalink
[3.9] bpo-40924: Remove protocol for supplying Traversable objects fr…
Browse files Browse the repository at this point in the history
…om 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).
  • Loading branch information
jaraco committed Jun 14, 2020
1 parent 83cd968 commit 8a34690
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 14 deletions.
3 changes: 0 additions & 3 deletions Doc/library/importlib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
12 changes: 1 addition & 11 deletions Lib/importlib/_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Removed support for loaders implementing .files and supplying TraversableResources.

0 comments on commit 8a34690

Please sign in to comment.