diff options
author | david ham <david.ham@imperial.ac.uk> | 2014-03-28 14:47:25 +0000 |
---|---|---|
committer | david ham <david.ham@imperial.ac.uk> | 2014-03-28 14:47:25 +0000 |
commit | 648cb02d9d5d063de8d483387b261531ab18522f (patch) | |
tree | 8c75c0e7b8f3617e121d373ec827ff6cc6b4da63 | |
parent | b0fb88ef3718eff6ba6a9e4c91521130c7177b45 (diff) | |
parent | 27972a77f065787cd86664f57566cab4762a8469 (diff) | |
download | sphinx-648cb02d9d5d063de8d483387b261531ab18522f.tar.gz |
merge
-rw-r--r-- | sphinx/ext/autodoc.py | 16 |
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. """ |