File tree Expand file tree Collapse file tree
importlib_resources/future Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -40,6 +40,16 @@ def wrapper(*args, **kwargs):
4040 return wrapper
4141
4242
43+ def _skip_degenerate (reader ):
44+ """
45+ Mask any degenerate reader. Ref #298.
46+ """
47+ is_degenerate = (
48+ isinstance (reader , _adapters .CompatibilityFiles ) and not reader ._reader
49+ )
50+ return reader if not is_degenerate else None
51+
52+
4353class TraversableResourcesLoader (_adapters .TraversableResourcesLoader ):
4454 """
4555 Adapt loaders to provide TraversableResources and other
@@ -51,8 +61,9 @@ class TraversableResourcesLoader(_adapters.TraversableResourcesLoader):
5161
5262 def get_resource_reader (self , name ):
5363 return (
54- _block_standard (super ().get_resource_reader )(name )
64+ _skip_degenerate ( _block_standard (super ().get_resource_reader )(name ) )
5565 or self ._standard_reader ()
66+ or super ().get_resource_reader (name )
5667 )
5768
5869 def _standard_reader (self ):
Original file line number Diff line number Diff line change 1+ Restored expectation that local standard readers are preferred over degenerate readers.
You can’t perform that action at this time.
0 commit comments