diff options
-rwxr-xr-x | Lib/pydoc.py | 16 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
2 files changed, 15 insertions, 4 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 433bd28..daec8ab 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -592,7 +592,9 @@ class HTMLDoc(Doc): 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 @@ class HTMLDoc(Doc): 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 @@ class TextDoc(Doc): 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 = [] @@ -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(). |