* * mostrar solamente cadena de documentación en la documentación de la esfinge
-
21-09-2019 - |
Pregunta
Esfinge tiene una característica llamada automethod
que extrae la documentación de la cadena de documentación de un método y incrusta que en la documentación. Pero no sólo se incrusta la cadena de documentación, sino también la firma del método (nombre + argumentos). ¿Cómo puedo incrustar solamente de la cadena de documentación (con exclusión de la firma del método)?
Solución
Creo que lo que estás buscando es:
from sphinx.ext import autodoc
class DocsonlyMethodDocumenter(autodoc.MethodDocumenter):
def format_args(self):
return None
autodoc.add_documenter(DocsonlyMethodDocumenter)
las fuentes de corriente esto debería permitir anulando que clase es responsable de documentar métodos (las versiones anteriores de add_documenter
prohibieron tales redefiniciones, pero ahora se les permite explícitamente). Tener format_args
Ninguno volver, por supuesto, es la forma documentada en autodoc
decir "no se moleste con la firma".
Creo que esta es la manera limpia, diseñado para poder realizar esta tarea, y, como tal, preferible monkeypatching alternativas. Si tiene que vivir con algunas versiones antiguas de sphinx
sin embargo es posible de hecho que monkeypatch (autodoc.MethodDocumenter.format_args=lambda _:None
- EEK -!) Aunque recomendaría sphinx
la actualización a la versión actual como un mejor enfoque si es factible en la implementación específica <. / p>