Philipp Hörist pushed to branch master at gajim / gajim
Commits: 720855a0 by Philipp Hörist at 2020-12-08T07:21:33+01:00 GUI: Improve finding modules
- - - - -
1 changed file:
- gajim/gui/__init__.py
Changes:
===================================== gajim/gui/__init__.py ===================================== @@ -13,26 +13,41 @@ def __init__(self, name, fallback=None): if fallback is not None: self._fallback_path = Path(__file__).parent.parent / fallback
- self._suffix = 'pyc' if sys.platform == 'win32' else 'py' - def find_spec(self, fullname, _path, _target=None): if not fullname.startswith('gajim.gui'): return None
_namespace, module_name = fullname.rsplit('.', 1) - module_path = self._path / f'{module_name}.{self._suffix}' - - if not module_path.exists(): - if self._fallback_path is None: - return None - - module_path = self._fallback_path / f'{module_name}.{self._suffix}' - if not module_path.exists(): - return None + module_path = self._find_module(module_name) + if module_path is None: + return None
spec = importlib.util.spec_from_file_location(fullname, module_path)
return spec
+ def _find_module(self, module_name): + module_path = self._path / f'{module_name}.py' + if module_path.exists(): + return module_path + + module_path = self._path / f'{module_name}.pyc' + if module_path.exists(): + return module_path + + if self._fallback_path is None: + return None + + module_path = self._fallback_path / f'{module_name}.py' + if module_path.exists(): + return module_path + + module_path = self._fallback_path / f'{module_name}.pyc' + if module_path.exists(): + return module_path + + return None + + def init(name, fallback=None): sys.meta_path.append(GUIFinder(name, fallback=fallback))
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/720855a004d42e65175fe5bb68f889937...