web-dev-qa-db-ja.com

LaunchpadAnswersをプログラムで取得する

ランチパッドから1つのプロジェクトに関連するすべての質問と回答をプログラムで取得して、新しいフォーラムサイトにインポートできるようにしたいと思います。私は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

webAPIを使用することも問題ありません。機械可読形式(JSON、XML)でコンテンツを取得することが目標です。

1
eudoxos

デフォルトの1.0APIバージョンは安定していますが、かなり古く、最近エクスポートされた多くのメソッドが含まれていません。このためには、APIの「開発」バージョンを使用する必要があります。

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

次に、 devel API docs に記載されているメソッド、具体的にはproject.searchQuestionsを使用できます。

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

APIドキュメントに示されているように、これをさまざまな方法で制限することも、上記のようにすべてを要求することもできます。いずれにせよ、繰り返して操作できるオブジェクトのバッチコレクション question オブジェクトが返されます。

2
Colin Watson