diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-08-15 14:59:37 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2020-08-15 15:04:10 -0400 |
commit | 3d404fd3268b0fb7d84916779ca2e282f4586396 (patch) | |
tree | 50c0f29eeed4312f0cfe229e02a75cf95285e0ff /_distutils_hack/__init__.py | |
parent | 77eeb77f48484a6e227275a9a8cc7d4c322596f7 (diff) | |
download | python-setuptools-git-3d404fd3268b0fb7d84916779ca2e282f4586396.tar.gz |
Refactor to use lookups and consolidate behaviors.
Diffstat (limited to '_distutils_hack/__init__.py')
-rw-r--r-- | _distutils_hack/__init__.py | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/_distutils_hack/__init__.py b/_distutils_hack/__init__.py index bdb365d5..074bd5e9 100644 --- a/_distutils_hack/__init__.py +++ b/_distutils_hack/__init__.py @@ -66,14 +66,14 @@ def do_override(): class DistutilsMetaFinder: def find_spec(self, fullname, path, target=None): - self._disable_for_pip(fullname, path) - - if path is not None or fullname != "distutils": - return None + if path is not None: + return - return self.get_distutils_spec() + method_name = 'spec_for_{fullname}'.format(**locals()) + method = getattr(self, method_name, lambda: None) + return method() - def get_distutils_spec(self): + def spec_for_distutils(self): import importlib.util class DistutilsLoader(importlib.util.abc.Loader): @@ -86,17 +86,13 @@ class DistutilsMetaFinder: return importlib.util.spec_from_loader('distutils', DistutilsLoader()) - def _disable_for_pip(self, fullname, path): + def spec_for_pip(self): """ Ensure stdlib distutils when running under pip. See pypa/pip#8761 for rationale. """ - if path is not None or fullname != "pip": - return - - # pip is being imported the first time. clear_distutils() - self.get_distutils_spec = lambda: None + self.spec_for_distutils = lambda: None DISTUTILS_FINDER = DistutilsMetaFinder() |