summaryrefslogtreecommitdiff
path: root/gi/importer.py
diff options
context:
space:
mode:
Diffstat (limited to 'gi/importer.py')
-rw-r--r--gi/importer.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/gi/importer.py b/gi/importer.py
index 32967974..63788776 100644
--- a/gi/importer.py
+++ b/gi/importer.py
@@ -107,15 +107,20 @@ class DynamicImporter(object):
def __init__(self, path):
self.path = path
- def find_module(self, fullname, path=None):
+ def _find_module_check(self, fullname):
if not fullname.startswith(self.path):
- return
+ return False
path, namespace = fullname.rsplit('.', 1)
- if path != self.path:
- return
+ return path == self.path
+
+ def find_spec(self, fullname, path=None, target=None):
+ if self._find_module_check(fullname):
+ return importlib.util.spec_from_loader(fullname, self)
- return self
+ def find_module(self, fullname, path=None):
+ if self._find_module_check(fullname):
+ return self
def load_module(self, fullname):
if fullname in sys.modules: