From 4c11f6088af5c2b3b97ed4352df3e39c4c7c9732 Mon Sep 17 00:00:00 2001 From: Johannes Gijsbers Date: Mon, 30 Aug 2004 14:13:04 +0000 Subject: Patch #934356: if a module defines __all__, believe that rather than using heuristics for filtering out imported names. --- Lib/pydoc.py | 16 ++++++++++++---- 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 = [] diff --git a/Misc/NEWS b/Misc/NEWS index 1cab304..2478056 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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(). -- cgit v0.12