我正在尝试使用 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
参数非常有用)。