Issue #15502: Refactor some code.
This commit is contained in:
parent
e9175bd0af
commit
f410ce8c09
|
@ -607,6 +607,21 @@ def _requires_frozen(fxn):
|
|||
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 @@ class FileFinder:
|
|||
"""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
|
||||
|
|
|
@ -78,10 +78,7 @@ class PathEntryFinder(Finder):
|
|||
"""
|
||||
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.
|
||||
|
|
8375
Python/importlib.h
8375
Python/importlib.h
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue