[Python-checkins] r69252 - in python/trunk: Lib/importlib Lib/importlib.py Lib/importlib/__init__.py Makefile.pre.in

brett.cannon python-checkins at python.org
Tue Feb 3 05:58:29 CET 2009


Author: brett.cannon
Date: Tue Feb  3 05:58:29 2009
New Revision: 69252

Log:
Make importlib a package. This allows using svn:externals in the sandbox to
package up the code for separate distribution.


Added:
   python/trunk/Lib/importlib/
   python/trunk/Lib/importlib/__init__.py
      - copied unchanged from r69250, /python/trunk/Lib/importlib.py
Removed:
   python/trunk/Lib/importlib.py
Modified:
   python/trunk/Makefile.pre.in

Deleted: python/trunk/Lib/importlib.py
==============================================================================
--- python/trunk/Lib/importlib.py	Tue Feb  3 05:58:29 2009
+++ (empty file)
@@ -1,38 +0,0 @@
-"""Backport of importlib.import_module from 3.x."""
-import sys
-
-def _resolve_name(name, package, level):
-    """Return the absolute name of the module to be imported."""
-    level -= 1
-    try:
-        if package.count('.') < level:
-            raise ValueError("attempted relative import beyond top-level "
-                              "package")
-    except AttributeError:
-        raise ValueError("__package__ not set to a string")
-    base = package.rsplit('.', level)[0]
-    if name:
-        return "{0}.{1}".format(base, name)
-    else:
-        return base
-
-
-def import_module(name, package=None):
-    """Import a module.
-
-    The 'package' argument is required when performing a relative import. It
-    specifies the package to use as the anchor point from which to resolve the
-    relative import to an absolute import.
-
-    """
-    if name.startswith('.'):
-        if not package:
-            raise TypeError("relative imports require the 'package' argument")
-        level = 0
-        for character in name:
-            if character != '.':
-                break
-            level += 1
-        name = _resolve_name(name[level:], package, level)
-    __import__(name)
-    return sys.modules[name]

Modified: python/trunk/Makefile.pre.in
==============================================================================
--- python/trunk/Makefile.pre.in	(original)
+++ python/trunk/Makefile.pre.in	Tue Feb  3 05:58:29 2009
@@ -822,7 +822,7 @@
 		email email/mime email/test email/test/data \
 		json json/tests \
 		sqlite3 sqlite3/test \
-		logging bsddb bsddb/test csv wsgiref \
+		logging bsddb bsddb/test csv importlib wsgiref \
 		lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
 		ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
 		distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \


More information about the Python-checkins mailing list