Mercurial > cpython-lru_cache-weakref
diff Lib/runpy.py @ 50162:4264cf00a75c 2.6
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
........
| author | Nick Coghlan <ncoghlan@gmail.com> |
|---|---|
| date | Sun, 14 Dec 2008 11:30:16 +0000 |
| parents | b887dba2b5e1 |
| children | 5cce99aa1f58 |
line wrap: on
line diff
--- a/Lib/runpy.py Fri Dec 12 21:25:13 2008 +0000 +++ b/Lib/runpy.py Sun Dec 14 11:30:16 2008 +0000 @@ -65,13 +65,14 @@ # 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):
