]> granicus.if.org Git - python/commitdiff
Move importlib's frozen importer over to rpartition for setting __package__.
authorBrett Cannon <bcannon@gmail.com>
Sat, 7 Feb 2009 01:38:38 +0000 (01:38 +0000)
committerBrett Cannon <bcannon@gmail.com>
Sat, 7 Feb 2009 01:38:38 +0000 (01:38 +0000)
Lib/importlib/_bootstrap.py
Lib/importlib/test/frozen/test_loader.py

index fc2a744f72353b4e5a64e80e858e7593f49ad918..99fb23682eda70adc2b91f760bab35e127cf0e59 100644 (file)
@@ -138,10 +138,9 @@ class FrozenImporter:
         if cls.find_module(fullname) is None:
             raise ImportError("{0} is not a frozen module".format(fullname))
         module = imp.init_frozen(fullname)
-        if hasattr(module, '__path__'):
-            module.__package__ = module.__name__
-        elif '.' in module.__name__:
-            module.__package__ = module.__name__.rsplit('.', 1)[0]
+        module.__package__ = module.__name__
+        if not hasattr(module, '__path__'):
+            module.__package__ = module.__package__.rpartition('.')[0]
         return module
 
 
index c6f44633232dcbaa1af07389ed5a14ca83c16f5d..9032b0bb69b242011f79c5d91a22ee65c212db48 100644 (file)
@@ -9,7 +9,7 @@ class LoaderTests(abc.LoaderTests):
         with util.uncache('__hello__'):
             module = machinery.FrozenImporter.load_module('__hello__')
             check = {'__name__': '__hello__', '__file__': '<frozen>',
-                        '__package__': None}
+                        '__package__': ''}
             for attr, value in check.items():
                 self.assertEqual(getattr(module, attr), value)