Документирование ресурсов Cornice с интеграцией Sphinx от Cornice

У меня есть приложение Pyramid с пакетом Cornice, где я определил Resources (скорее, чем Services) и мне интересно, возможно ли сгенерировать документацию Sphinx для этого проекта с помощью интеграции Sphinx от Cornice?

Мне удалось создать какую-то документацию, но кажется, что большинство функций недоступны для ресурсов, только для служб, например, для документирования кода Pyramid следующим образом:

@resource(collection_path='/parse/', path='/parse/{id}', cors_origins=('*',), description="Temporary description.")
class Parser(object):

    @view(renderer='json')
    def collection_post(self):
        """
        Some description for this function...
        :param str smth: Some parameter
        :return: Returns something
        """
        return

и создание документации Sphinx следующим образом:

.. cornice-autodoc::
   :modules: my_app.views.views_parser
   :ignore: parser

приведет к нескольким ненужным и несколько недостающих частей в документации:

  • имена служб (на самом деле имена ресурсов) перепутаны,
  • функция collection_post сама не документирована,
  • нет необходимости документировать оба collection_path а также path от resource декларация):

(пример фрагмента из сгенерированной документации)

Служба Collection_Parser в /parse/

Временное описание.

СООБЩЕНИЕ

Ответ: JSON

Служба синтаксического анализа в /parse/{id}

Временное описание.


Что я хотел бы знать, это:

  • как изменить имена, сгенерированные в документации (Parser вместо Collection_Parser),
  • как "игнорировать" некоторые модули с :ignore: заявление (например, я не хочу документировать /parse/{id} часть),
  • как документировать функции внутри ресурсов, так как добавление блока комментариев просто игнорируется (collection_post в моем случае)

... и многое другое...
Кажется, что это либо невозможно, либо вообще не задокументировано. Если дело в том, что это невозможно, есть ли какое-либо другое (хотя бы полуавтоматическое) решение для документирования моего проекта?

1 ответ

Решение

Похоже, что это невозможно, потому что Cornice не поддерживает такую ​​функцию ( https://github.com/mozilla-services/cornice/issues/279)...

Другие вопросы по тегам