bpo-35923: Update the BuiltinImporter to use loader._ORIGIN instead of a hard-coded value (GH-15651)

This commit is contained in:
Dong-hee Na 2019-09-12 01:00:02 +09:00 committed by Brett Cannon
parent 1fae844451
commit 145cf1f50c
3 changed files with 763 additions and 758 deletions

View File

@ -713,6 +713,8 @@ class BuiltinImporter:
""" """
_ORIGIN = "built-in"
@staticmethod @staticmethod
def module_repr(module): def module_repr(module):
"""Return repr for the module. """Return repr for the module.
@ -720,14 +722,14 @@ class BuiltinImporter:
The method is deprecated. The import machinery does the job itself. The method is deprecated. The import machinery does the job itself.
""" """
return '<module {!r} (built-in)>'.format(module.__name__) return f'<module {module.__name__!r} ({BuiltinImporter._ORIGIN})>'
@classmethod @classmethod
def find_spec(cls, fullname, path=None, target=None): def find_spec(cls, fullname, path=None, target=None):
if path is not None: if path is not None:
return None return None
if _imp.is_builtin(fullname): if _imp.is_builtin(fullname):
return spec_from_loader(fullname, cls, origin='built-in') return spec_from_loader(fullname, cls, origin=cls._ORIGIN)
else: else:
return None return None

View File

@ -0,0 +1,2 @@
Update :class:`importlib.machinery.BuiltinImporter` to use ``loader._ORIGIN``
instead of a hardcoded value. Patch by Dong-hee Na.

1513
Python/importlib.h generated

File diff suppressed because it is too large Load Diff