tengo un módulo que es algo como esto:Anulación declaración de la función en autodoc para esfinge
#!/usr/bin/env python
#: Documentation here.
#: blah blah blah
foobar = r'Some really long regex here.'
def myfunc(val=foobar):
'''Blah blah blah'''
pass
... y tengo un archivo .rst
que dice algo como esto:
:mod:`my_module` Module
-----------------------
..automodule:: my_module
:members:
:private-members:
:show-inheritance:
Cuando Construyo la documentación, obtengo un archivo html con un fragmento que dice así:
mymodule.foobar. foobar = 'Algunos absurdamente larga y desagradable expresión regular aquí'
documentación adicional aquí
mimodulo. myfunc (val = 'Algunos absurdamente larga y desagradable expresión regular aquí')
bla, bla, bla
En base a esta stackoverflow post, pensé que podía cambiarlo mediante la alteración de mi módulo para:
#!/usr/bin/env python
#: .. data:: my_module.foobar
#: Extra documentation here
foobar = 'Some really long regex here.'
def myfunc(val=foobar):
'''.. function:: my_module.myfunc(val=foobar)
Blah blah blah'''
pass
... pero eso no hace el truco, y acabamos de añadir la firma quería bajo la fea como parte del cuerpo. ¿Alguien sabe cómo puedo anular esto correctamente?
(estoy usando Sphinx v1.1.3, por cierto.)
¿Se puede hacer esto para las clases (más específicamente, sus constructores)? – detly
Eso es genial, abrí una [nueva pregunta al respecto] entera (http://stackoverflow.com/questions/13786030/how-do-i-override-constructor-parameters-in-sphinx-with-autodoc). – detly
Anular la firma en la primera línea de la cadena de documentación es realmente útil, ¡gracias por la sugerencia! – brianmearns