mirror of
https://github.com/python/cpython.git
synced 2025-08-27 04:05:34 +00:00
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.
This commit is contained in:
parent
3069d50c18
commit
536d2262f7
2 changed files with 27 additions and 4 deletions
|
@ -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 = '<a name="%s"><strong>%s</strong></a> = %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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue