Документирование ресурсов 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)...