summaryrefslogtreecommitdiffstats
path: root/Lib/runpy.py
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2006-07-06 12:53:04 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2006-07-06 12:53:04 (GMT)
commit56829d5b4a339ee8ca70078a958ce67fa799677d (patch)
tree1770d0521c11803dab9b0107fcf65244db42a014 /Lib/runpy.py
parentbf84e54078bc443ae7eb14054f83bf686582dda5 (diff)
downloadcpython-56829d5b4a339ee8ca70078a958ce67fa799677d.zip
cpython-56829d5b4a339ee8ca70078a958ce67fa799677d.tar.gz
cpython-56829d5b4a339ee8ca70078a958ce67fa799677d.tar.bz2
Revert the __module_name__ changes made in rev 47142. We'll revisit this in Python 2.6
Diffstat (limited to 'Lib/runpy.py')
-rwxr-xr-xLib/runpy.py34
1 files changed, 13 insertions, 21 deletions
diff --git a/Lib/runpy.py b/Lib/runpy.py
index 6c44850..8290dfe 100755
--- a/Lib/runpy.py
+++ b/Lib/runpy.py
@@ -21,19 +21,18 @@ __all__ = [
]
-def _run_code(code, run_globals, init_globals, run_name,
+def _run_code(code, run_globals, init_globals,
mod_name, mod_fname, mod_loader):
"""Helper for _run_module_code"""
if init_globals is not None:
run_globals.update(init_globals)
- run_globals.update(__name__ = run_name,
- __module_name__ = mod_name,
+ run_globals.update(__name__ = mod_name,
__file__ = mod_fname,
__loader__ = mod_loader)
exec code in run_globals
return run_globals
-def _run_module_code(code, init_globals=None, run_name=None,
+def _run_module_code(code, init_globals=None,
mod_name=None, mod_fname=None,
mod_loader=None, alter_sys=False):
"""Helper for run_module"""
@@ -43,33 +42,26 @@ def _run_module_code(code, init_globals=None, run_name=None,
temp_module = imp.new_module(mod_name)
mod_globals = temp_module.__dict__
saved_argv0 = sys.argv[0]
- sentinel = object()
- module_mod_name = sys.modules.get(mod_name, sentinel)
- module_run_name = sys.modules.get(run_name, sentinel)
+ restore_module = mod_name in sys.modules
+ if restore_module:
+ saved_module = sys.modules[mod_name]
sys.argv[0] = mod_fname
sys.modules[mod_name] = temp_module
- if run_name != mod_name:
- sys.modules[run_name] = temp_module
try:
- _run_code(code, mod_globals, init_globals, run_name,
+ _run_code(code, mod_globals, init_globals,
mod_name, mod_fname, mod_loader)
finally:
sys.argv[0] = saved_argv0
- if module_mod_name is not sentinel:
- sys.modules[mod_name] = module_mod_name
- else:
- del sys.modules[mod_name]
- if run_name != mod_name:
- if module_run_name is not sentinel:
- sys.modules[run_name] = module_run_name
- else:
- del sys.modules[run_name]
+ if restore_module:
+ sys.modules[mod_name] = saved_module
+ else:
+ del sys.modules[mod_name]
# Copy the globals of the temporary module, as they
# may be cleared when the temporary module goes away
return mod_globals.copy()
else:
# Leave the sys module alone
- return _run_code(code, {}, init_globals, run_name,
+ return _run_code(code, {}, init_globals,
mod_name, mod_fname, mod_loader)
@@ -100,7 +92,7 @@ def run_module(mod_name, init_globals=None,
if run_name is None:
run_name = mod_name
return _run_module_code(code, init_globals, run_name,
- mod_name, filename, loader, alter_sys)
+ filename, loader, alter_sys)
if __name__ == "__main__":