Получать ответы панели запуска программно
Я хотел бы программно получать все вопросы и ответы, связанные с одним проектом, из панели запуска, чтобы я мог импортировать их на новый форумный сайт. Я смотрел на 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, или просто запросить все, как указано выше; в любом случае вы получите пакетную коллекцию объектов вопросов, с которыми вы можете перебирать и работать.