[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