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)?

ref: http://sphinx.pocoo.org/ext/autodoc.html

War es hilfreich?

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>

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top