[Python-checkins] r70011 - in python/trunk/Lib: importlib/__init__.py test/test_importlib.py

brett.cannon python-checkins at python.org
Fri Feb 27 04:38:28 CET 2009


Author: brett.cannon
Date: Fri Feb 27 04:38:28 2009
New Revision: 70011

Log:
Fix a bug where code was trying to index an int. Left over from the situation
from using str.rpartition to str.rindex.

Closes Issue5213.


Modified:
   python/trunk/Lib/importlib/__init__.py
   python/trunk/Lib/test/test_importlib.py

Modified: python/trunk/Lib/importlib/__init__.py
==============================================================================
--- python/trunk/Lib/importlib/__init__.py	(original)
+++ python/trunk/Lib/importlib/__init__.py	Fri Feb 27 04:38:28 2009
@@ -15,7 +15,7 @@
     try:
         # rpartition is more "correct" and rfind is just as easy to use, but
         # neither are in Python 2.3.
-        dot_rindex = package.rindex('.', level)[0]
+        dot_rindex = package.rindex('.', level)
         base = package[:dot_rindex]
     except ValueError:
         base = package

Modified: python/trunk/Lib/test/test_importlib.py
==============================================================================
--- python/trunk/Lib/test/test_importlib.py	(original)
+++ python/trunk/Lib/test/test_importlib.py	Fri Feb 27 04:38:28 2009
@@ -140,11 +140,14 @@
         pkg_name = 'pkg'
         pkg_long_name = '{0}.__init__'.format(pkg_name)
         module_name = 'mod'
+        subpkg_name = '{0}.subpkg'.format(pkg_name)
+        subpkg_long_name = '{0}.__init__'.format(subpkg_name)
         absolute_name = '{0}.{1}'.format(pkg_name, module_name)
-        relative_name = '.{0}'.format(module_name)
-        with mock_modules(pkg_long_name, absolute_name) as mock:
+        relative_name = '..{0}'.format(module_name)
+        with mock_modules(pkg_long_name, subpkg_long_name,
+                            absolute_name) as mock:
             with import_state(meta_path=[mock]):
-                module = importlib.import_module(relative_name, pkg_name)
+                module = importlib.import_module(relative_name, subpkg_name)
                 self.assertEqual(module.__name__, absolute_name)
 
     def test_absolute_import_with_package(self):


More information about the Python-checkins mailing list