summaryrefslogtreecommitdiff
path: root/Lib/pydoc.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/pydoc.py')
-rw-r--r--Lib/pydoc.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index daa7205bd7..86ccfe041f 100644
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -203,6 +203,8 @@ def classify_class_attrs(object):
for (name, kind, cls, value) in inspect.classify_class_attrs(object):
if inspect.isdatadescriptor(value):
kind = 'data descriptor'
+ if isinstance(value, property) and value.fset is None:
+ kind = 'readonly property'
results.append((name, kind, cls, value))
return results
@@ -884,6 +886,8 @@ class HTMLDoc(Doc):
lambda t: t[1] == 'class method')
attrs = spill('Static methods %s' % tag, attrs,
lambda t: t[1] == 'static method')
+ attrs = spilldescriptors("Readonly properties %s" % tag, attrs,
+ lambda t: t[1] == 'readonly property')
attrs = spilldescriptors('Data descriptors %s' % tag, attrs,
lambda t: t[1] == 'data descriptor')
attrs = spilldata('Data and other attributes %s' % tag, attrs,
@@ -993,8 +997,8 @@ class HTMLDoc(Doc):
if name:
push('<dl><dt><strong>%s</strong></dt>\n' % name)
- if object.__doc__ is not None:
- doc = self.markup(getdoc(object), self.preformat)
+ doc = self.markup(getdoc(object), self.preformat)
+ if doc:
push('<dd><tt>%s</tt></dd>\n' % doc)
push('</dl>\n')
@@ -1341,6 +1345,8 @@ location listed above.
lambda t: t[1] == 'class method')
attrs = spill("Static methods %s:\n" % tag, attrs,
lambda t: t[1] == 'static method')
+ attrs = spilldescriptors("Readonly properties %s:\n" % tag, attrs,
+ lambda t: t[1] == 'readonly property')
attrs = spilldescriptors("Data descriptors %s:\n" % tag, attrs,
lambda t: t[1] == 'data descriptor')
attrs = spilldata("Data and other attributes %s:\n" % tag, attrs,