mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
[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).
This commit is contained in:
parent
83cd968f5c
commit
8a3469047c
3 changed files with 2 additions and 14 deletions
|
@ -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):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue