zeigen * nur * docstring in Sphinx-Dokumentation
-
21-09-2019 - |
Frage
hat Sphinx ein Merkmal automethod
genannt, die die Dokumentation von einer docstring Methode extrahiert und bettet, dass in die Dokumentation. Aber es bettet nicht nur das docstring, sondern auch die Methode Signatur (Namen + Argumente). Wie binde ich nur die docstring (mit Ausnahme des Methodensignatur)?
Lösung
Ich denke, was Sie suchen ist:
from sphinx.ext import autodoc
class DocsonlyMethodDocumenter(autodoc.MethodDocumenter):
def format_args(self):
return None
autodoc.add_documenter(DocsonlyMethodDocumenter)
die Stromquellen dies erlauben sollte zwingende was Klasse ist verantwortlich für die Dokumentation von Methoden (ältere Versionen von add_documenter
verbietet solche Überschreibungen, aber jetzt sind sie ausdrücklich erlaubt). Mit format_args
Rückkehr Keiner, ist natürlich die dokumentierten Art und Weise in autodoc
zu sagen, „nicht mit der Unterschrift stören“.
Ich denke, das ist der reine architected Weg, um diese Aufgabe zu erfüllen, und als solche vorzuziehen Alternativen monkeypatching. Wenn Sie mit einigen alten Versionen von sphinx
leben müssen jedoch kann man in der Tat zu monkeypatch (autodoc.MethodDocumenter.format_args=lambda _:None
- eek -!), Obwohl ich würde Upgrade sphinx
auf die aktuelle Version als bessere Lösung, wenn überhaupt möglich in Ihrem spezifischen Einsatz empfehlen <. / p>