'inspect' was not listing the functions in a module properly if the module was
reached through a symlink (was comparing path of module to path to function and were not matching because of the symlink). os.path.realpath() is now used to solve this discrepency. Closes bug #570300. Thanks Johannes Gijsbers for the fix.
This commit is contained in:
parent
08d786a608
commit
b3de2e13ba
|
@ -380,7 +380,9 @@ def getmodule(object):
|
||||||
return sys.modules.get(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[
|
||||||
|
os.path.realpath(
|
||||||
|
getabsfile(module))] = module.__name__
|
||||||
if file in modulesbyfile:
|
if file in modulesbyfile:
|
||||||
return sys.modules.get(modulesbyfile[file])
|
return sys.modules.get(modulesbyfile[file])
|
||||||
main = sys.modules['__main__']
|
main = sys.modules['__main__']
|
||||||
|
|
|
@ -41,6 +41,10 @@ Extension modules
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- bug #570300: Fix inspect to resolve file locations using os.path.realpath()
|
||||||
|
so as to properly list all functions in a module when the module itself is
|
||||||
|
reached through a symlink. Thanks Johannes Gijsbers.
|
||||||
|
|
||||||
- doctest refactoring continued. See the docs for details. As part of
|
- doctest refactoring continued. See the docs for details. As part of
|
||||||
this effort, some old and little- (never?) used features are now
|
this effort, some old and little- (never?) used features are now
|
||||||
deprecated: the Tester class, the module is_private() function, and the
|
deprecated: the Tester class, the module is_private() function, and the
|
||||||
|
|
Loading…
Reference in New Issue