python-six/py310.patch
2021-04-13 14:21:36 +02:00

65 lines
1.6 KiB
Diff

From a6ac88fa03735e94938693c354f28937e1e51ab7 Mon Sep 17 00:00:00 2001
From: Victor Stinner <vstinner@python.org>
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 <brett@python.org>
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]