From: Johannes Gijsbers Date: Mon, 30 Aug 2004 14:13:04 +0000 (+0000) Subject: Patch #934356: if a module defines __all__, believe that rather than using X-Git-Tag: v2.4a3~56 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4c11f6088af5c2b3b97ed4352df3e39c4c7c9732;p=python Patch #934356: if a module defines __all__, believe that rather than using heuristics for filtering out imported names. --- diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 433bd281d7..daec8ab819 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 1cab3045d7..24780561eb 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().