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

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

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

@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)

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


person errata    schedule 23.02.2015    source источник


Ответы (1)


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

person errata    schedule 09.06.2015