Issue #15502: Refactor some code.
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index b79fdcc..34d54bb 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -607,6 +607,21 @@
return _requires_frozen_wrapper
+def _find_module_shim(self, fullname):
+ """Try to find a loader for the specified module by delegating to
+ self.find_loader()."""
+ # Call find_loader(). If it returns a string (indicating this
+ # is a namespace package portion), generate a warning and
+ # return None.
+ loader, portions = self.find_loader(fullname)
+ if loader is None and len(portions):
+ msg = "Not importing directory {}: missing __init__"
+ _warnings.warn(msg.format(portions[0]), ImportWarning)
+ return loader
+
+
+
+
# Loaders #####################################################################
class BuiltinImporter:
@@ -1305,17 +1320,7 @@
"""Invalidate the directory mtime."""
self._path_mtime = -1
- def find_module(self, fullname):
- """Try to find a loader for the specified module."""
- # Call find_loader(). If it returns a string (indicating this
- # is a namespace package portion), generate a warning and
- # return None.
- loader, portions = self.find_loader(fullname)
- assert len(portions) in [0, 1]
- if loader is None and len(portions):
- msg = "Not importing directory {}: missing __init__"
- _warnings.warn(msg.format(portions[0]), ImportWarning)
- return loader
+ find_module = _find_module_shim
def find_loader(self, fullname):
"""Try to find a loader for the specified module, or the namespace
diff --git a/Lib/importlib/abc.py b/Lib/importlib/abc.py
index cd687e8..387567a 100644
--- a/Lib/importlib/abc.py
+++ b/Lib/importlib/abc.py
@@ -78,10 +78,7 @@
"""
raise NotImplementedError
- def find_module(self, fullname):
- """Compatibility function which is the equivalent of
- self.find_loader(fullname)[0]."""
- return self.find_loader(fullname)[0]
+ find_module = _bootstrap._find_module_shim
def invalidate_caches(self):
"""An optional method for clearing the finder's cache, if any.