software how example code apidoc python python-sphinx

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)