Код: Выделить всё
class A():
"""
documentation
.. automethod:: __init__
"""
def __init__(self):
"""
documentation for A
"""
class B:
"""
documentation
"""
def __init__(self):
"""
documentation for B
"""
Код: Выделить всё
def skip_member(app, what, name, obj, skip, options):
// What do I put here to skip the __init__ of class A, but *not* the __init__ of class B?
if name == '__init__':
return False
return skip
def setup(app):
app.connect('autodoc-skip-member', skip_member)
Код: Выделить всё
/home/xxx/sphinx-test/classFile.py:docstring of classFile.A.__init__:1: WARNING: duplicate object description of classFile.A.__init__, other instance in usage, use :no-index: for one of them
Почему я пытаюсь это сделать? Я работаю над совместным проектом, поэтому не могу удалить директивы automethod, но мне нужен автоматизированный способ отображения вся документации, включая частные/скрытые методы. (Таким образом, у нас будет две документации: по сути одна для потребителей и одна для разработчиков). Удаление директивы automethod будет означать, что потребительская версия теперь будет содержать больше информации, чем необходимо, поэтому я не хочу их удалять, но, не удаляя их, когда я пытаюсь запустить документацию по сфинксу, я получаю кучу повторяющихся методов, и поэтому мне нужен какой-то способ подавить либо те, которые включены из automethod, либо из Skip_method способ.
Изменить:
Что-то, что, возможно, было неясно из вышеизложенного. Технически я мог бы использовать :no-index:, чтобы ошибка не появлялась, но тогда метод дублируется (в документации появляется дважды).
Код: Выделить всё
.. automethod:: __init__
:no-index:
Подробнее здесь: https://stackoverflow.com/questions/789 ... method-set