mirror of https://github.com/python/cpython
GUI mode now displays useful stuff for properties. This is usually better
than text mode, since here we can hyperlink from the getter etc methods back to their definitions.
This commit is contained in:
parent
f4aad8eb28
commit
3e767d19e0
18
Lib/pydoc.py
18
Lib/pydoc.py
|
@ -636,16 +636,26 @@ TT { font-family: lucidatypewriter, lucida console, courier }
|
|||
push('\n')
|
||||
return attrs
|
||||
|
||||
# pydoc can't make any reasonable sense of properties on its own,
|
||||
# and it doesn't appear that the getter, setter and del'er methods
|
||||
# are discoverable. For now, just pump out their names.
|
||||
def spillproperties(msg, attrs, predicate):
|
||||
ok, attrs = _split_list(attrs, predicate)
|
||||
if ok:
|
||||
hr.maybe()
|
||||
push(msg)
|
||||
for name, kind, homecls, value in ok:
|
||||
push('<dl><dt><strong>%s</strong></dl>\n' % name)
|
||||
push('<dl><dt><strong>%s</strong></dt>\n' % name)
|
||||
if value.__doc__ is not None:
|
||||
doc = self.markup(value.__doc__, self.preformat,
|
||||
funcs, classes, mdict)
|
||||
push('<dd><small><tt>%s</tt></small></dd>\n' % doc)
|
||||
for attr, tag in [("fset", " setter"),
|
||||
("fget", " getter"),
|
||||
("fdel", " deleter")]:
|
||||
func = getattr(value, attr)
|
||||
if func is not None:
|
||||
base = self.document(func, name + tag, mod,
|
||||
funcs, classes, mdict, object)
|
||||
push('<dd>%s</dd>\n' % base)
|
||||
push('</dl>\n')
|
||||
return attrs
|
||||
|
||||
def spilldata(msg, attrs, predicate):
|
||||
|
|
Loading…
Reference in New Issue