使用 launchladlib 访问 Ubuntu 错误数据库

使用 launchladlib 访问 Ubuntu 错误数据库

我正在尝试使用 launchpadlib 编写一个可以访问 Ubuntu 错误数据库的 Python 脚本,但我找不到任何明显的方法将搜索限制在特定项目/发行版的错误上。我知道我可以使用

bug_one = launchpad.bugs[<bug number>]

我可以使用以下方式访问 Ubuntu 发行版

ubuntu = launchpad.distributions['ubuntu']

但我找不到将两者结合起来的方法,以便我可以检索影响 Ubuntu 的错误列表。API 参考文档没有提到项目或者分配与实际错误相关的条目(仅限错误管理员),漏洞条目明确说明它影响哪个项目。考虑到上述函数的工作方式,我本来预计

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

返回影响 Ubuntu 的某个错误,但是它没有返回,而且也没有明显的方法可以做到这一点。

答案1

在启动板中有两个不同的实体:

  • Bug:与问题相关的一般信息
  • 错误任务:项目/发行版特定信息:状态、重要性、分配给等等。

请注意,错误是一个通用概念,可能包含针对项目和发行版里程碑的多个任务。因此,您可以搜索给定项目的内容是针对该项目的错误任务,而不是错误本身(但您可以获取每个错误任务的错误)。

因此,查找错误信息的方法如下:

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

欲了解更多信息,请参阅API 文档对于searchTasks方法(特别是status参数非常有用)。

相关内容