2009-09-02 5 views

risposta

17

Penso che quello che stai cercando è:

from sphinx.ext import autodoc 

class DocsonlyMethodDocumenter(autodoc.MethodDocumenter): 
    def format_args(self): 
    return None 

autodoc.add_documenter(DocsonlyMethodDocumenter) 

per the current sources Ciò dovrebbe consentire ignorando ciò che classe è responsabile per documentare i metodi (le vecchie versioni di add_documenter proibì tali sostituzioni, ma ora sono esplicitamente consentiti). Avere format_args return Nessuno, naturalmente, è IL modo documentato in autodoc per dire "non preoccuparti della firma".

Penso che questo sia il modo pulito e architettato per eseguire questo compito e, come tale, preferibile alle alternative monkeypatching. Se hai bisogno di vivere con alcune vecchie versioni di sphinx potresti comunque dover eseguire la monkeypatch (autodoc.MethodDocumenter.format_args=lambda _:None - eek! -) anche se raccomanderei l'aggiornamento di sphinx alla versione corrente come approccio migliore se possibile nella tua specifica implementazione.

+1

+1 In Sphinx 1.1 c'è una modifica di sintassi minore nell'aggiunta di un documentatore http://stackoverflow.com/questions/7825263/including-docstring-in-sphinx-documentation – geographika