mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
autodoc detects descriptors properly now
This commit is contained in:
parent
3a84835f9e
commit
72276a2dc2
1
CHANGES
1
CHANGES
@ -6,6 +6,7 @@ New features added
|
||||
|
||||
* If the `pygments_style` config value contains a dot it's treated as the
|
||||
import path of a custom Pygments style class.
|
||||
* autodoc detects descriptors properly now
|
||||
|
||||
* A new config value, `exclude_dirs`, can be used to exclude whole
|
||||
directories from the search for source files.
|
||||
|
@ -32,6 +32,14 @@ _charset_re = re.compile(r'coding[:=]\s*([-\w.]+)')
|
||||
_module_charsets = {}
|
||||
|
||||
|
||||
def isdescriptor(x):
|
||||
"""Check if the object is some kind of descriptor."""
|
||||
for item in '__get__', '__set__', '__delete__':
|
||||
if callable(getattr(x, item, None)):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def prepare_docstring(s):
|
||||
"""
|
||||
Convert a docstring into lines of parseable reST. Return it as a list of
|
||||
@ -217,7 +225,7 @@ def generate_rst(what, name, members, undoc, add_content, document, lineno,
|
||||
else:
|
||||
if callable(member):
|
||||
memberwhat = 'method'
|
||||
elif isinstance(member, property):
|
||||
elif isdescriptor(member):
|
||||
memberwhat = 'attribute'
|
||||
else:
|
||||
# XXX: todo -- attribute docs
|
||||
|
Loading…
Reference in New Issue
Block a user