Kaydet (Commit) 3d3cfdb4 authored tarafından Tim Peters's avatar Tim Peters

ihooks FancyModuleLoader.load_module()

imputils Importer._process_result():
    remove name from modules dict if exec fails.

This is what all the builtin importers do now, new in 2.4.
üst 51fa3b74
......@@ -322,7 +322,13 @@ class FancyModuleLoader(ModuleLoader):
if path:
m.__path__ = path
m.__file__ = filename
exec code in m.__dict__
try:
exec code in m.__dict__
except:
d = self.hooks.modules_dict()
if name in d:
del d[name]
raise
return m
......
......@@ -297,7 +297,12 @@ class Importer:
# execute the code within the module's namespace
if not is_module:
exec code in module.__dict__
try:
exec code in module.__dict__
except:
if fqname in sys.modules:
del sys.modules[fqname]
raise
# fetch from sys.modules instead of returning module directly.
# also make module's __name__ agree with fqname, in case
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment