Я пытаюсь написать скрипт на Python, используя launchpadlib, который может получить доступ к базе данных ошибок Ubuntu, но я не могу найти какой-либо очевидный способ ограничить поиск ошибками определенного проекта / дистрибутива. Я знаю, что могу получить доступ к ошибкам, используя
bug_one = launchpad.bugs[<bug number>]
, и я могу получить доступ к дистрибутиву Ubuntu, используя
ubuntu = launchpad.distributions['ubuntu']
, но я не могу найти способ объединить эти два, чтобы я мог получить список ошибок, влияющих на Ubuntu. Справочная документация по API не упоминает никаких атрибутов записи project или distribution , относящихся к фактическим ошибкам (только диспетчер ошибок), а также bug запись прояснить, на какой проект это влияет. Учитывая то, как работают функции, описанные выше, я бы ожидал, что
ubuntu_bugs = launchpad.distributions['ubuntu'].bugs[<bug number>]
вернет определенную ошибку, затрагивающую Ubuntu, но это не так, и нет очевидного способа сделать это.
В панели запуска есть две разные сущности:
Обратите внимание, что ошибка - это общая концепция, которая может содержать несколько задач, нацеленных на этапы проектов и дистрибутивов. Следовательно, то, что вы можете искать для данного проекта, - это задачи с ошибками, нацеленные на этот проект, а не сами ошибки (хотя вы можете получить ошибку для каждой задачи с ошибкой).
Следовательно, способ поиска информации об ошибке будет следующим:
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
весьма полезен).