diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2008-12-14 11:50:48 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2008-12-14 11:50:48 (GMT) |
commit | f088e5e6cc0e7ad7991a910be13510ca33e91958 (patch) | |
tree | bc4281856af88400076b08b3e6d4431565017e3e /Lib/runpy.py | |
parent | 80a0c7f62366235059bd2e5892554fa75c7670ca (diff) | |
download | cpython-f088e5e6cc0e7ad7991a910be13510ca33e91958.zip cpython-f088e5e6cc0e7ad7991a910be13510ca33e91958.tar.gz cpython-f088e5e6cc0e7ad7991a910be13510ca33e91958.tar.bz2 |
Merged revisions 67750-67751 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r67750 | nick.coghlan | 2008-12-14 20:54:50 +1000 (Sun, 14 Dec 2008) | 1 line
Fix several issues relating to access to source code inside zipfiles. Initial work by Alexander Belopolsky. See Misc/NEWS in this checkin for details.
........
r67751 | nick.coghlan | 2008-12-14 21:09:40 +1000 (Sun, 14 Dec 2008) | 1 line
Add file that was missed from r67750
........
Diffstat (limited to 'Lib/runpy.py')
-rwxr-xr-x | Lib/runpy.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Lib/runpy.py b/Lib/runpy.py index 5038266..22a2989 100755 --- a/Lib/runpy.py +++ b/Lib/runpy.py @@ -65,13 +65,14 @@ def _run_module_code(code, init_globals=None, # This helper is needed due to a missing component in the PEP 302 # loader protocol (specifically, "get_filename" is non-standard) +# Since we can't introduce new features in maintenance releases, +# support was added to zipimporter under the name '_get_filename' def _get_filename(loader, mod_name): - try: - get_filename = loader.get_filename - except AttributeError: - return None - else: - return get_filename(mod_name) + for attr in ("get_filename", "_get_filename"): + meth = getattr(loader, attr, None) + if meth is not None: + return meth(mod_name) + return None # Helper to get the loader, code and filename for a module def _get_module_details(mod_name): |