loader should initialize as specified by :pep:`302`.
-.. function:: set___package__(method)
+.. function:: set_package(method)
A :term:`decorator` for a :term:`loader` to set the :attr:`__package__`
attribute on the module returned by the loader. If :attr:`__package__` is
new.__dict__.update(old.__dict__)
-def set___package__(fxn):
+def set_package(fxn):
"""Set __package__ on the returned module."""
def wrapper(*args, **kwargs):
module = fxn(*args, **kwargs)
return cls if imp.is_builtin(fullname) else None
@classmethod
- @set___package__
+ @set_package
def load_module(cls, fullname):
"""Load a built-in module."""
if fullname not in sys.builtin_module_names:
return cls if imp.is_frozen(fullname) else None
@classmethod
- @set___package__
+ @set_package
def load_module(cls, fullname):
"""Load a frozen module."""
if cls.find_module(fullname) is None:
raise ValueError("extension modules cannot be packages")
@check_name
- @set___package__
+ @set_package
def load_module(self, fullname):
"""Load an extension module."""
is_reload = fullname in sys.modules
class SetPackageTests(unittest.TestCase):
- """Tests for importlib.util.set___package__."""
+ """Tests for importlib.util.set_package."""
def verify(self, module, expect):
"""Verify the module has the expected value for __package__ after
- passing through set___package__."""
+ passing through set_package."""
fxn = lambda: module
- wrapped = util.set___package__(fxn)
+ wrapped = util.set_package(fxn)
wrapped()
self.assert_(hasattr(module, '__package__'))
self.assertEqual(expect, module.__package__)
"""Utility code for constructing importers, etc."""
from ._bootstrap import module_for_loader
-from ._bootstrap import set___package__
+from ._bootstrap import set_package