summaryrefslogtreecommitdiff
path: root/sphinx/ext/autodoc.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2011-01-03 21:00:08 +0100
committerGeorg Brandl <georg@python.org>2011-01-03 21:00:08 +0100
commit8f377580338df129d907c9d299469e61084d6b6d (patch)
tree0eef38656fb490f6cd4d1e0227cd0c1f6542a0c9 /sphinx/ext/autodoc.py
parent6964bdffb979b6bc4dd1c5a776ef7c06c3881c36 (diff)
downloadsphinx-git-8f377580338df129d907c9d299469e61084d6b6d.tar.gz
#567: Emit the ``autodoc-process-docstring`` event even for objects without a docstring so that it can add content.
Diffstat (limited to 'sphinx/ext/autodoc.py')
-rw-r--r--sphinx/ext/autodoc.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py
index f2f872ef7..accf8e282 100644
--- a/sphinx/ext/autodoc.py
+++ b/sphinx/ext/autodoc.py
@@ -457,6 +457,11 @@ class Documenter(object):
if not no_docstring:
encoding = self.analyzer and self.analyzer.encoding
docstrings = self.get_doc(encoding)
+ if not docstrings:
+ # append at least a dummy docstring, so that the event
+ # autodoc-process-docstring is fired and can add some
+ # content if desired
+ docstrings.append([])
for i, line in enumerate(self.process_doc(docstrings)):
self.add_line(line, sourcename, i)
@@ -922,9 +927,9 @@ class ClassDocumenter(ModuleLevelDocumenter):
content = self.env.config.autoclass_content
docstrings = []
- docstring = self.get_attr(self.object, '__doc__', None)
- if docstring:
- docstrings.append(docstring)
+ attrdocstring = self.get_attr(self.object, '__doc__', None)
+ if attrdocstring:
+ docstrings.append(attrdocstring)
# for classes, what the "docstring" is can be controlled via a
# config value; the default is only the class docstring