summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavid ham <david.ham@imperial.ac.uk>2014-03-28 14:47:25 +0000
committerdavid ham <david.ham@imperial.ac.uk>2014-03-28 14:47:25 +0000
commit648cb02d9d5d063de8d483387b261531ab18522f (patch)
tree8c75c0e7b8f3617e121d373ec827ff6cc6b4da63
parentb0fb88ef3718eff6ba6a9e4c91521130c7177b45 (diff)
parent27972a77f065787cd86664f57566cab4762a8469 (diff)
downloadsphinx-648cb02d9d5d063de8d483387b261531ab18522f.tar.gz
merge
-rw-r--r--sphinx/ext/autodoc.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py
index a79849ae..5596b978 100644
--- a/sphinx/ext/autodoc.py
+++ b/sphinx/ext/autodoc.py
@@ -970,6 +970,20 @@ class DocstringSignatureMixin(object):
self.args, self.retann = result
return Documenter.format_signature(self)
+class DocstringStripSignatureMixin(DocstringSignatureMixin):
+ """
+ Mixin for AttributeDocumenter to provide the
+ feature of stripping any function signature from the docstring.
+ """
+ def format_signature(self):
+ if self.args is None and self.env.config.autodoc_docstring_signature:
+ # only act if a signature is not explicitly given already, and if
+ # the feature is enabled
+ result = self._find_signature()
+ if result is not None:
+ self.retann = result[1]
+ return Documenter.format_signature(self)
+
class FunctionDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter):
"""
@@ -1259,7 +1273,7 @@ class MethodDocumenter(DocstringSignatureMixin, ClassLevelDocumenter):
pass
-class AttributeDocumenter(ClassLevelDocumenter):
+class AttributeDocumenter(DocstringStripSignatureMixin,ClassLevelDocumenter):
"""
Specialized Documenter subclass for attributes.
"""