From 37d617cd983446dfe8073038d03dd31fc7f66796 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 27 Oct 2019 20:40:07 -0400 Subject: Extract _resolve --- setuptools/_imp.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'setuptools/_imp.py') diff --git a/setuptools/_imp.py b/setuptools/_imp.py index 6bc90243..c400d455 100644 --- a/setuptools/_imp.py +++ b/setuptools/_imp.py @@ -60,13 +60,17 @@ def find_module(module, paths=None): def get_frozen_object(module, paths): spec = importlib.util.find_spec(module, paths) - if hasattr(spec, 'submodule_search_locations'): - spec = importlib.util.spec_from_loader('__init__.py', spec.loader) - return spec.loader.get_code(module) + return spec.loader.get_code(_resolve(module)) + + +def _resolve(spec): + return ( + importlib.util.spec_from_loader('__init__.py', spec.loader) + if hasattr(spec, 'submodule_search_locations') + else spec + ) def get_module(module, paths, info): spec = importlib.util.find_spec(module, paths) - if hasattr(spec, 'submodule_search_locations'): - spec = importlib.util.spec_from_loader('__init__.py', spec.loader) - return importlib.util.module_from_spec(spec) + return importlib.util.module_from_spec(_resolve(spec)) -- cgit v1.2.1