Skip to content

Commit 8b2e439

Browse files
committed
Rename "vartype" to "kind".
Also make property now show get/set/del depending on what is defined, e.g. propert/get/set
1 parent 8c2bb0d commit 8b2e439

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

pdoc/__init__.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -987,19 +987,22 @@ def definition_order_index(
987987
# in which case it is not read-only
988988
# dict(inspect.getmembers(clazz))[name]
989989
if isinstance(obj, property):
990-
if obj.fdel is not None or obj.fset is not None:
991-
vartype = "property"
992-
else:
993-
vartype = "ro-property"
990+
kind = "property"
991+
if obj.fget is not None:
992+
kind += "/get"
993+
if obj.fset is not None:
994+
kind += "/set"
995+
if obj.fdel is not None:
996+
kind += "/del"
994997
else:
995-
vartype = "var"
998+
kind = "var"
996999
self.doc[name] = Variable(
9971000
name, self.module,
9981001
docstring=(
9991002
var_docstrings.get(name) or
10001003
(inspect.isclass(obj) or _is_descriptor(obj)) and inspect.getdoc(obj)),
10011004
cls=self,
1002-
vartype=vartype,
1005+
kind=kind,
10031006
obj=getattr(obj, 'fget', getattr(obj, '__get__', None)),
10041007
instance_var=(_is_descriptor(obj) or
10051008
name in getattr(self.obj, '__slots__', ())))
@@ -1475,10 +1478,10 @@ class Variable(Doc):
14751478
Representation of a variable's documentation. This includes
14761479
module, class, and instance variables.
14771480
"""
1478-
__slots__ = ('cls', 'instance_var', 'vartype')
1481+
__slots__ = ('cls', 'instance_var', 'kind')
14791482

14801483
def __init__(self, name, module, docstring, *,
1481-
obj=None, cls: Class = None, instance_var=False, vartype=None):
1484+
obj=None, cls: Class = None, instance_var=False, kind=None):
14821485
"""
14831486
Same as `pdoc.Doc`, except `cls` should be provided
14841487
as a `pdoc.Class` object when this is a class or instance
@@ -1498,9 +1501,10 @@ def __init__(self, name, module, docstring, *,
14981501
opposed to class variable).
14991502
"""
15001503

1501-
self.vartype = vartype
1504+
self.kind = kind
15021505
"""
1503-
One of `var`, `property`, or `property(R/O)`.
1506+
One of `var`, `property/get/set/del` with one or more of get, set, del, e.g. property/get/set for
1507+
a property that can be read and set.
15041508
"""
15051509

15061510
@property

pdoc/templates/html.mako

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@
234234
<dl>
235235
% for v in inst_vars:
236236
<% return_type = get_annotation(v.type_annotation) %>
237-
<dt id="${v.refname}"><code class="name">${v.vartype} ${ident(v.name)}${return_type}</code></dt>
237+
<dt id="${v.refname}"><code class="name">${v.kind} ${ident(v.name)}${return_type}</code></dt>
238238
<dd>${show_desc(v)}</dd>
239239
% endfor
240240
</dl>

0 commit comments

Comments
 (0)