web-dev-qa-db-ja.com

launchladlibを使用してUbuntuバグデータベースにアクセスします

Ubuntuのバグデータベースにアクセスできるlaunchpadlibを使用してPythonスクリプトを作成しようとしていますが、特定のプロジェクト/ディストリビューションのバグに検索を制限する明確な方法が見つかりません。 。私は私が使用してバグにアクセスできることを知っています

bug_one = launchpad.bugs[<bug number>]

そして私はUbuntuディストリビューションにアクセスできます

ubuntu = launchpad.distributions['ubuntu']

しかし、Ubuntuに影響を与えるバグのリストを取得できるように2つを組み合わせる方法を見つけることができません。 APIリファレンスドキュメントには、実際のバグ(バグスーパーバイザーのみ)に関連する project または distribution エントリの属性については記載されておらず、 bug エントリは、影響を受けるプロジェクトを明確にします。上記の機能が機能する方法を考えると、私は期待していたでしょう

ubuntu_bugs = launchpad.distributions['ubuntu'].bugs[<bug number>]

ubuntuに影響を与える特定のバグを返すことはできますが、そうではなく、それを行う明確な方法はありません。

2
user2405

ランチパッドには、2つの異なるエンティティがあります。

  • バグ:問題に関連する一般情報
  • バグタスク:プロジェクト/ディストリビューション固有の情報:ステータス、重要度、割り当て先など。

バグは一般的な概念であり、プロジェクトやディストリビューションのマイルストーンを対象とした複数のタスクが含まれている可能性があることに注意してください。したがって、特定のプロジェクトを検索できるのは、バグ自体ではなく、そのプロジェクトの対象となっているバグタスクです(ただし、バグタスクごとにバグを取得できます)。

したがって、バグ情報を探す方法は次のようになります。

ubuntu = launchpad.distributions['ubuntu']
tasks = ubuntu.searchTasks()
task = tasks[0]    # Get one task as an example
task.bug           # Display bug for the given task

詳細については、searchTasksメソッドの APIドキュメント を参照してください(特に、statusパラメーターは非常に便利です)。

4
jcollado