Merge pull request #9647 from pytest-dev/backport-9609-to-7.0.x

[7.0.x] importlib.readers not valid until python 3.10
This commit is contained in:
Ran Benita 2022-02-08 17:54:38 +02:00 committed by GitHub
commit 462a6f0de6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View File

@ -0,0 +1 @@
Fix invalid importing of ``importlib.readers`` in Python 3.9.

View File

@ -276,13 +276,15 @@ class AssertionRewritingHook(importlib.abc.MetaPathFinder, importlib.abc.Loader)
with open(pathname, "rb") as f: with open(pathname, "rb") as f:
return f.read() return f.read()
if sys.version_info >= (3, 9): if sys.version_info >= (3, 10):
def get_resource_reader(self, name: str) -> importlib.abc.TraversableResources: # type: ignore def get_resource_reader(self, name: str) -> importlib.abc.TraversableResources: # type: ignore
from types import SimpleNamespace if sys.version_info < (3, 11):
from importlib.readers import FileReader from importlib.readers import FileReader
else:
from importlib.resources.readers import FileReader
return FileReader(SimpleNamespace(path=self._rewritten_names[name])) return FileReader(types.SimpleNamespace(path=self._rewritten_names[name]))
def _write_pyc_fp( def _write_pyc_fp(