Получать ответы панели запуска программно

Я хотел бы программно получать все вопросы и ответы, связанные с одним проектом, из панели запуска, чтобы я мог импортировать их на новый форумный сайт. Я смотрел на launchpadlib, но я не могу получить доступ к вопросам для одного проекта:

from launchpadlib.launchpad import Launchpad
ll=Launchpad.login_anonymously('')
# get the project; but it does not contain references to questions (it references bugs, translations etc, but not questions
pro=ll.project['woo'] 
# some (random?) question from launchpad, but not for the project I need
ll.questions

Использование веб-API также будет хорошо. Получение контента в любом машиночитаемом формате (JSON, XML) является нашей целью.

1 ответ

Решение

Версия API 1.0 по умолчанию стабильна, но довольно старая и не включает в себя много методов, которые были экспортированы в последнее время. Для этого вам нужно использовать версию API "devel":

lp = Launchpad.login_anonymously('name of your script', version='devel')

Затем вы можете использовать методы, описанные в документации по API devel, в частности project.searchQuestions:

project = lp.projects['foo']
questions = project.searchQuestions()

Вы можете ограничить это различными способами, как указано в документации API, или просто запросить все, как указано выше; в любом случае вы получите пакетную коллекцию объектов вопросов, с которыми вы можете перебирать и работать.

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