Commit f522aea7 authored by Brett Cannon's avatar Brett Cannon

Issue #13588: Rename decorators in importlib.

More descriptive names are now used in order to make tracebacks
more readable.
parent d3af6e30
...@@ -122,26 +122,26 @@ code_type = type(_wrap.__code__) ...@@ -122,26 +122,26 @@ code_type = type(_wrap.__code__)
def set_package(fxn): def set_package(fxn):
"""Set __package__ on the returned module.""" """Set __package__ on the returned module."""
def wrapper(*args, **kwargs): def set_package_wrapper(*args, **kwargs):
module = fxn(*args, **kwargs) module = fxn(*args, **kwargs)
if not hasattr(module, '__package__') or module.__package__ is None: if not hasattr(module, '__package__') or module.__package__ is None:
module.__package__ = module.__name__ module.__package__ = module.__name__
if not hasattr(module, '__path__'): if not hasattr(module, '__path__'):
module.__package__ = module.__package__.rpartition('.')[0] module.__package__ = module.__package__.rpartition('.')[0]
return module return module
_wrap(wrapper, fxn) _wrap(set_package_wrapper, fxn)
return wrapper return set_package_wrapper
def set_loader(fxn): def set_loader(fxn):
"""Set __loader__ on the returned module.""" """Set __loader__ on the returned module."""
def wrapper(self, *args, **kwargs): def set_loader_wrapper(self, *args, **kwargs):
module = fxn(self, *args, **kwargs) module = fxn(self, *args, **kwargs)
if not hasattr(module, '__loader__'): if not hasattr(module, '__loader__'):
module.__loader__ = self module.__loader__ = self
return module return module
_wrap(wrapper, fxn) _wrap(set_loader_wrapper, fxn)
return wrapper return set_loader_wrapper
def module_for_loader(fxn): def module_for_loader(fxn):
...@@ -157,7 +157,7 @@ def module_for_loader(fxn): ...@@ -157,7 +157,7 @@ def module_for_loader(fxn):
the second argument. the second argument.
""" """
def decorated(self, fullname, *args, **kwargs): def module_for_loader_wrapper(self, fullname, *args, **kwargs):
module = sys.modules.get(fullname) module = sys.modules.get(fullname)
is_reload = bool(module) is_reload = bool(module)
if not is_reload: if not is_reload:
...@@ -172,8 +172,8 @@ def module_for_loader(fxn): ...@@ -172,8 +172,8 @@ def module_for_loader(fxn):
if not is_reload: if not is_reload:
del sys.modules[fullname] del sys.modules[fullname]
raise raise
_wrap(decorated, fxn) _wrap(module_for_loader_wrapper, fxn)
return decorated return module_for_loader_wrapper
def _check_name(method): def _check_name(method):
...@@ -184,32 +184,32 @@ def _check_name(method): ...@@ -184,32 +184,32 @@ def _check_name(method):
compared against. If the comparison fails then ImportError is raised. compared against. If the comparison fails then ImportError is raised.
""" """
def inner(self, name, *args, **kwargs): def _check_name_wrapper(self, name, *args, **kwargs):
if self._name != name: if self._name != name:
raise ImportError("loader cannot handle %s" % name) raise ImportError("loader cannot handle %s" % name)
return method(self, name, *args, **kwargs) return method(self, name, *args, **kwargs)
_wrap(inner, method) _wrap(_check_name_wrapper, method)
return inner return _check_name_wrapper
def _requires_builtin(fxn): def _requires_builtin(fxn):
"""Decorator to verify the named module is built-in.""" """Decorator to verify the named module is built-in."""
def wrapper(self, fullname): def _requires_builtin_wrapper(self, fullname):
if fullname not in sys.builtin_module_names: if fullname not in sys.builtin_module_names:
raise ImportError("{0} is not a built-in module".format(fullname)) raise ImportError("{0} is not a built-in module".format(fullname))
return fxn(self, fullname) return fxn(self, fullname)
_wrap(wrapper, fxn) _wrap(_requires_builtin_wrapper, fxn)
return wrapper return _requires_builtin_wrapper
def _requires_frozen(fxn): def _requires_frozen(fxn):
"""Decorator to verify the named module is frozen.""" """Decorator to verify the named module is frozen."""
def wrapper(self, fullname): def _requires_frozen_wrapper(self, fullname):
if not imp.is_frozen(fullname): if not imp.is_frozen(fullname):
raise ImportError("{0} is not a frozen module".format(fullname)) raise ImportError("{0} is not a frozen module".format(fullname))
return fxn(self, fullname) return fxn(self, fullname)
_wrap(wrapper, fxn) _wrap(_requires_frozen_wrapper, fxn)
return wrapper return _requires_frozen_wrapper
def _suffix_list(suffix_type): def _suffix_list(suffix_type):
......
...@@ -754,6 +754,7 @@ Gaël Pasgrimaud ...@@ -754,6 +754,7 @@ Gaël Pasgrimaud
Randy Pausch Randy Pausch
Samuele Pedroni Samuele Pedroni
Marcel van der Peijl Marcel van der Peijl
Berker Peksag
Steven Pemberton Steven Pemberton
Santiago Peresón Santiago Peresón
George Peristerakis George Peristerakis
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment