From a6ac88fa03735e94938693c354f28937e1e51ab7 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 14 Dec 2020 14:02:29 +0100 Subject: [PATCH] Port _SixMetaPathImporter to Python 3.10 Fixes #341. --- six.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/six.py b/six.py index 83f69783..d162d09c 100644 --- a/six.py +++ b/six.py @@ -223,6 +223,12 @@ def get_code(self, fullname): return None get_source = get_code # same as get_code + def create_module(self, spec): + return self.load_module(spec.name) + + def exec_module(self, module): + pass + _importer = _SixMetaPathImporter(__name__) From 6483c19cb7f6029924bd1ad970dbcf04d3f4189d Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 26 Mar 2021 16:34:05 -0700 Subject: [PATCH] Implement find_spec() for _SixMetaPathImporter --- six.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/six.py b/six.py index d162d09c..5e7f0ce4 100644 --- a/six.py +++ b/six.py @@ -71,6 +71,11 @@ def __len__(self): MAXSIZE = int((1 << 63) - 1) del X +if PY34: + from importlib.util import spec_from_loader +else: + spec_from_loader = None + def _add_doc(func, doc): """Add documentation to a function.""" @@ -186,6 +191,11 @@ def find_module(self, fullname, path=None): return self return None + def find_spec(self, fullname, path, target=None): + if fullname in self.known_modules: + return spec_from_loader(fullname, self) + return None + def __get_module(self, fullname): try: return self.known_modules[fullname]