how - sphinx python example
Conectar Sphinx autodoc-skip-member a mi funciĆ³n (2)
Quiero usar el evento autodoc-skip-member de sphinx para seleccionar una parte de los miembros en una determinada clase de Python para la documentación.
Pero no está claro en los documentos de la esfinge, y no puedo encontrar ningún ejemplo que ilustre: ¿dónde coloco el código para conectar esto? Veo Sphinx.connect y sospecho que va en mi conf.py, pero cuando intento variaciones en este código en conf.py no puedo encontrar el objeto de la aplicación que debo conectar ():
def maybe_skip_member(app, what, name, obj, skip,
options):
print app, what, name, obj, skip, options
return False
# This is not even close to correct:
#from sphinx.application import Sphinx
#Sphinx().connect(''autodoc-skip-member'', maybe_skip_member)
Un puntero a un ejemplo simple sería ideal.
Ajá, el último esfuerzo de zanja en un poco de búsqueda de Google en este ejemplo , desplácese hacia abajo hasta el final. Aparentemente, una función de configuración () en conf.py será llamada con la aplicación. Pude definir lo siguiente en la parte inferior de mi conf.py:
def maybe_skip_member(app, what, name, obj, skip, options):
print app, what, name, obj, skip, options
return True
def setup(app):
app.connect(''autodoc-skip-member'', maybe_skip_member)
Lo cual obviamente es inútil (se salta todo), pero ese es el ejemplo mínimo que estaba buscando y no pude encontrar ...
Esta respuesta se expande sobre la respuesta por bstpierre . A continuación se muestra la parte relevante de mi conf.py
:
autodoc_default_flags = [''members'', ''private-members'', ''special-members'',
#''undoc-members'',
''show-inheritance'']
def autodoc_skip_member(app, what, name, obj, skip, options):
exclusions = (''__weakref__'', # special-members
''__doc__'', ''__module__'', ''__dict__'', # undoc-members
)
exclude = name in exclusions
return skip or exclude
def setup(app):
app.connect(''autodoc-skip-member'', autodoc_skip_member)