]> granicus.if.org Git - python/commitdiff
Set the __file__ attribute of the imported module in both versions of
authorGuido van Rossum <guido@python.org>
Mon, 7 Oct 1996 23:41:54 +0000 (23:41 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 7 Oct 1996 23:41:54 +0000 (23:41 +0000)
load_module(), to mimick the behavior of imp more closely.

Lib/ihooks.py

index 70aa8114d97e6dec55043466f5e57a5d0c5255bc..dfe29cfea961c548788ffaaca0e7fe82acb292b3 100644 (file)
@@ -257,13 +257,16 @@ class ModuleLoader(BasicModuleLoader):
        if type == FROZEN_MODULE:
            return self.hooks.init_frozen(name)
        if type == C_EXTENSION:
-           return self.hooks.load_dynamic(name, filename, file)
-       if type == PY_SOURCE:
-           return self.hooks.load_source(name, filename, file)
-       if type == PY_COMPILED:
-           return self.hooks.load_compiled(name, filename, file)
-       raise ImportError, "Unrecognized module type (%s) for %s" % \
-                          (`type`, name)
+           m = self.hooks.load_dynamic(name, filename, file)
+       elif type == PY_SOURCE:
+           m = self.hooks.load_source(name, filename, file)
+       elif type == PY_COMPILED:
+           m = self.hooks.load_compiled(name, filename, file)
+       else:
+           raise ImportError, "Unrecognized module type (%s) for %s" % \
+                 (`type`, name)
+       m.__file__ = filename
+       return m
 
 
 class FancyModuleLoader(ModuleLoader):
@@ -284,6 +287,7 @@ class FancyModuleLoader(ModuleLoader):
        else:
            return ModuleLoader.load_module(self, name, stuff)
        m = self.hooks.add_module(name)
+       m.__file__ = filename
        exec code in m.__dict__
        return m