]> granicus.if.org Git - python/commitdiff
Tweak the source/bytecode loader from importlib to use more of the PEP 302
authorBrett Cannon <bcannon@gmail.com>
Sat, 21 Feb 2009 03:53:06 +0000 (03:53 +0000)
committerBrett Cannon <bcannon@gmail.com>
Sat, 21 Feb 2009 03:53:06 +0000 (03:53 +0000)
protocol API.

Lib/importlib/NOTES
Lib/importlib/_bootstrap.py

index 1bbcb968e8628606905b0413363251a58dc61b00..35c8fd35c64e3d01ae1ee49086f8c2201508a1ef 100644 (file)
@@ -7,6 +7,7 @@ to do
 
     + PyLoader (for ABC)
 
+        - load_module for source only
         - get_code for source only
 
     + PyFileLoader(PyLoader)
@@ -17,6 +18,7 @@ to do
 
     +PyPycLoader (PyLoader, for ABC)
 
+        - load_module for source and bytecode
         - get_code for source and bytecode
         
     + PyPycFileLoader(PyPycLoader, PyFileLoader)
index 068ee1021cc63e4df9c20bd053130614608ead1b..97e3f548257669dab25deea69d08e5bfa241df4e 100644 (file)
@@ -361,7 +361,6 @@ class _PyFileLoader:
         # Not a property for easy overriding.
         return self._find_path(imp.PY_COMPILED)
 
-    @check_name
     @module_for_loader
     def load_module(self, module):
         """Load a Python source or bytecode module."""
@@ -371,7 +370,7 @@ class _PyFileLoader:
         code_object = self.get_code(module.__name__)
         module.__file__ = source_path if source_path else bytecode_path
         module.__loader__ = self
-        if self._is_pkg:
+        if self.is_package(name):
             module.__path__  = [module.__file__.rsplit(path_sep, 1)[0]]
         module.__package__ = module.__name__
         if not hasattr(module, '__path__'):
@@ -429,7 +428,6 @@ class _PyFileLoader:
             else:
                 raise
 
-    @check_name
     def get_code(self, name):
         """Return the code object for the module."""
         # XXX Care enough to make sure this call does not happen if the magic