From 536d2262f730dfd0d48ed541d834dd01f7d95562 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Thu, 20 Sep 2001 05:13:38 +0000 Subject: After much thrashing, I believe this is a truly minimal patch to teach pydoc how to do something sensible with 2.2 descriptors. To see the difference, browse __builtin__ via pydoc before and after the patch. --- Lib/pydoc.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Lib/pydoc.py') diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 4c7471afbc..b8050318b0 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -115,9 +115,12 @@ def stripid(text): return re.sub(pattern, '>', text) return text +def _is_some_method(object): + return inspect.ismethod(object) or inspect.ismethoddescriptor(object) + def allmethods(cl): methods = {} - for key, value in inspect.getmembers(cl, inspect.ismethod): + for key, value in inspect.getmembers(cl, _is_some_method): methods[key] = 1 for base in cl.__bases__: methods.update(allmethods(base)) # all your base are belong to us @@ -656,7 +659,7 @@ TT { font-family: lucidatypewriter, lucida console, courier } reallink = realname title = '%s = %s' % ( anchor, name, reallink) - if inspect.isbuiltin(object): + if inspect.isbuiltin(object) or inspect.ismethoddescriptor(object): argspec = '(...)' else: args, varargs, varkw, defaults = inspect.getargspec(object) @@ -913,7 +916,7 @@ class TextDoc(Doc): cl.__dict__[realname] is object): skipdocs = 1 title = self.bold(name) + ' = ' + realname - if inspect.isbuiltin(object): + if inspect.isbuiltin(object) or inspect.ismethoddescriptor(object): argspec = '(...)' else: args, varargs, varkw, defaults = inspect.getargspec(object) -- cgit v1.2.1