Wie kann ich mit Sphinx eine Dokumentation für einen Python-Property-Setter erzeugen?

8

Ich habe eine Python-Klasse, etwa so etwas wie die folgende, mit Docstrings, die von Sphinx in eine Dokumentation konvertiert werden sollen:

%Vor%

Die Sphinx-Ausgabe sieht ungefähr so ​​aus:

  

Klasse Richtung (Name)   Eine Richtung, in der Bewegung gemacht werden kann.

     
    

Name     Der eindeutige Name der Richtung.

         
      

Gibt Folgendes zurück: Der Richtungsname

             

Rückgabetyp: Zeichenfolge

    
  

Das ist in Ordnung, so weit wie es geht, aber beachten Sie die vollständige Abwesenheit von Informationen über die% Co_de% Setter.

Gibt es eine Möglichkeit, Sphinx dazu zu bringen, eine Dokumentation für den Property Setter zu erstellen?

    
Matthew Murdoch 04.07.2013, 21:00
quelle

1 Antwort

10

Sphinx ignoriert Docstrings auf Property Settern, so dass die gesamte Dokumentation für eine Property auf der Methode @property stehen muss.

Während Sphinx bestimmte spezifische Tags versteht (z. B. :param ...: ), akzeptiert es alle benutzerdefinierten Tags und rendert sie als Beschriftungen für den Text, der ihnen folgt.

Mit etwas wie dem Folgenden wird die Dokumentation in angemessener Weise dargestellt ( getter , setter und type können bei Bedarf in jeden anderen Text geändert werden).

%Vor%

Die generierte Dokumentation sieht ungefähr so ​​aus:

  

Klasse Richtung (Name)   Eine Richtung, in der Bewegung gemacht werden kann.

     
    

Name     Der eindeutige Name der Richtung.

         
      

Getter: Gibt den Namen dieser Richtung zurück

             

Setter: Legt den Namen dieser Richtung fest

             

Geben Sie Folgendes ein: Zeichenfolge

    
  

Danke an @BrenBarm und @ A-B-B, dass sie mich in die Richtung dieser Lösung weisen.

    
Matthew Murdoch 08.07.2013, 08:28
quelle