From 9d0592a055105c68fd4f96b1cd012029b3746a78 Mon Sep 17 00:00:00 2001 From: Daniele Nicolodi Date: Sun, 4 Feb 2024 17:22:44 +0100 Subject: [PATCH] MAINT: reduce indentation --- mesonpy/_editable.py | 54 ++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/mesonpy/_editable.py b/mesonpy/_editable.py index 7d63b5b3f..30d67d260 100644 --- a/mesonpy/_editable.py +++ b/mesonpy/_editable.py @@ -261,34 +261,38 @@ def find_spec( path: Optional[Sequence[Union[bytes, str]]] = None, target: Optional[ModuleType] = None ) -> Optional[importlib.machinery.ModuleSpec]: - if fullname.split('.', maxsplit=1)[0] in self._top_level_modules: - if self._build_path in os.environ.get(MARKER, '').split(os.pathsep): - return None - namespace = False - tree = self._rebuild() - parts = fullname.split('.') - - # look for a package - package = tree.get(tuple(parts)) - if isinstance(package, Node): - for loader, suffix in LOADERS: - src = package.get('__init__' + suffix) - if isinstance(src, str): - return build_module_spec(loader, fullname, src, package) - else: - namespace = True - # look for a module + if fullname.split('.', maxsplit=1)[0] not in self._top_level_modules: + return None + + if self._build_path in os.environ.get(MARKER, '').split(os.pathsep): + return None + + namespace = False + tree = self._rebuild() + parts = fullname.split('.') + + # look for a package + package = tree.get(tuple(parts)) + if isinstance(package, Node): for loader, suffix in LOADERS: - src = tree.get((*parts[:-1], parts[-1] + suffix)) + src = package.get('__init__' + suffix) if isinstance(src, str): - return build_module_spec(loader, fullname, src, None) - - # namespace - if namespace: - spec = importlib.machinery.ModuleSpec(fullname, None) - spec.submodule_search_locations = [] - return spec + return build_module_spec(loader, fullname, src, package) + else: + namespace = True + + # look for a module + for loader, suffix in LOADERS: + src = tree.get((*parts[:-1], parts[-1] + suffix)) + if isinstance(src, str): + return build_module_spec(loader, fullname, src, None) + + # namespace + if namespace: + spec = importlib.machinery.ModuleSpec(fullname, None) + spec.submodule_search_locations = [] + return spec return None