cpython: 205aa49e5cd5 (original) (raw)

--- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -475,8 +475,24 @@ def _verbose_message(message, *args, ver print(message.format(*args), file=sys.stderr) +class _ManageReload: +

+

+

+ +

Written as a class only because contextlib is not available.

-class _ModuleManager: +class _ModuleManager(_ManageReload): """Context manager which returns the module to be loaded. @@ -490,12 +506,12 @@ class _ModuleManager: The reset_name argument specifies whether to unconditionally reset the name attribute if the module is found to be a reload. """

def enter(self):

@@ -510,14 +526,12 @@ class _ModuleManager: self._module.name = self._name except AttributeError: pass - return self._module def exit(self, *args): self._module.initializing = False del self._module

def module_to_load(name, *, reset_name=True): @@ -741,13 +755,8 @@ class BuiltinImporter: @_requires_builtin def load_module(cls, fullname): """Load a built-in module."""

@classmethod @_requires_builtin @@ -792,16 +801,11 @@ class FrozenImporter: @_requires_frozen def load_module(cls, fullname): """Load a frozen module."""

@classmethod @_requires_frozen @@ -1147,18 +1151,13 @@ class ExtensionFileLoader: @set_loader def load_module(self, fullname): """Load an extension module."""

def is_package(self, fullname): """Return True if the extension module is a package."""

--- a/Python/importlib.h +++ b/Python/importlib.h @@ -1,8 +1,8 @@ /* Auto-generated by Modules/_freeze_importlib.c */ const unsigned char _Py_M__importlib[] = { 99,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,

};