Patch #934356: if a module defines __all__, believe that rather than using

heuristics for filtering out imported names.
This commit is contained in:
Johannes Gijsbers 2004-08-30 14:13:04 +00:00
parent d2a1aa4b1e
commit 4c11f6088a
2 changed files with 15 additions and 4 deletions

View file

@ -592,7 +592,9 @@ def docmodule(self, object, name=None, mod=None, *ignored):
classes, cdict = [], {}
for key, value in inspect.getmembers(object, inspect.isclass):
if (inspect.getmodule(value) or object) is object:
# if __all__ exists, believe it. Otherwise use old heuristic.
if (all is not None or
(inspect.getmodule(value) or object) is object):
if visiblename(key, all):
classes.append((key, value))
cdict[key] = cdict[value] = '#' + key
@ -606,7 +608,9 @@ def docmodule(self, object, name=None, mod=None, *ignored):
cdict[key] = cdict[base] = modname + '.html#' + key
funcs, fdict = [], {}
for key, value in inspect.getmembers(object, inspect.isroutine):
if inspect.isbuiltin(value) or inspect.getmodule(value) is object:
# if __all__ exists, believe it. Otherwise use old heuristic.
if (all is not None or
inspect.isbuiltin(value) or inspect.getmodule(value) is object):
if visiblename(key, all):
funcs.append((key, value))
fdict[key] = '#-' + key
@ -1015,12 +1019,16 @@ def docmodule(self, object, name=None, mod=None):
classes = []
for key, value in inspect.getmembers(object, inspect.isclass):
if (inspect.getmodule(value) or object) is object:
# if __all__ exists, believe it. Otherwise use old heuristic.
if (all is not None
or (inspect.getmodule(value) or object) is object):
if visiblename(key, all):
classes.append((key, value))
funcs = []
for key, value in inspect.getmembers(object, inspect.isroutine):
if inspect.isbuiltin(value) or inspect.getmodule(value) is object:
# if __all__ exists, believe it. Otherwise use old heuristic.
if (all is not None or
inspect.isbuiltin(value) or inspect.getmodule(value) is object):
if visiblename(key, all):
funcs.append((key, value))
data = []

View file

@ -79,6 +79,9 @@ Extension modules
Library
-------
- Patch #934356: if a module defines __all__, believe that rather than using
heuristics for filtering out imported names.
- Patch #941486: added os.path.lexists(), which returns True for broken
symlinks, unlike os.path.exists().