diff options
author | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2013-02-03 20:27:34 +0900 |
---|---|---|
committer | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2013-02-03 20:27:34 +0900 |
commit | e70a43a9c53759d4b4b8f5109a02fe0e793835ff (patch) | |
tree | 0fdbe9f5b1ac779ea35c545a1b24397b3d2ef092 /sphinx/ext/autodoc.py | |
parent | 4d4dad36106d1ba4a9ee205c4e36f69d10430ccc (diff) | |
download | sphinx-git-e70a43a9c53759d4b4b8f5109a02fe0e793835ff.tar.gz |
Closes #1062: sphinx.ext.autodoc use __init__ method signature for class signature.
Diffstat (limited to 'sphinx/ext/autodoc.py')
-rw-r--r-- | sphinx/ext/autodoc.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py index 58623cc56..89680981c 100644 --- a/sphinx/ext/autodoc.py +++ b/sphinx/ext/autodoc.py @@ -1011,6 +1011,18 @@ class ClassDocumenter(ModuleLevelDocumenter): def format_signature(self): if self.doc_as_attr: return '' + + # get __init__ method signature from __init__.__doc__ + if self.env.config.autodoc_docstring_signature: + # only act if the feature is enabled + init_doc = MethodDocumenter(self.directive, '__init__') + init_doc.object = self.get_attr(self.object, '__init__', None) + init_doc.objpath = ['__init__'] + result = init_doc._find_signature() + if result is not None: + # use args only for Class signature + return '(%s)' % result[0] + return ModuleLevelDocumenter.format_signature(self) def add_directive_header(self, sig): |