Commit b38bbbd3 authored by Ka-Ping Yee's avatar Ka-Ping Yee

Make module lookup a little more robust (certain kinds of fiddling to

    sys.modules previously produced an exception).
parent e9638cca
...@@ -366,12 +366,12 @@ def getmodule(object): ...@@ -366,12 +366,12 @@ def getmodule(object):
except TypeError: except TypeError:
return None return None
if file in modulesbyfile: if file in modulesbyfile:
return sys.modules[modulesbyfile[file]] return sys.modules.get(modulesbyfile[file])
for module in sys.modules.values(): for module in sys.modules.values():
if hasattr(module, '__file__'): if hasattr(module, '__file__'):
modulesbyfile[getabsfile(module)] = module.__name__ modulesbyfile[getabsfile(module)] = module.__name__
if file in modulesbyfile: if file in modulesbyfile:
return sys.modules[modulesbyfile[file]] return sys.modules.get(modulesbyfile[file])
main = sys.modules['__main__'] main = sys.modules['__main__']
if hasattr(main, object.__name__): if hasattr(main, object.__name__):
mainobject = getattr(main, object.__name__) mainobject = getattr(main, object.__name__)
......
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