Acesse o banco de dados de bugs do Ubuntu usando o launchladlib

2

Estou tentando escrever um script Python usando o launchpadlib que pode acessar o banco de dados de bugs do Ubuntu, mas não consigo encontrar nenhuma maneira óbvia de restringir a pesquisa aos bugs de um projeto / distribuição em particular. Eu sei que posso acessar bugs usando

bug_one = launchpad.bugs[<bug number>]

e eu posso acessar a distribuição do Ubuntu usando

ubuntu = launchpad.distributions['ubuntu']

mas não consigo encontrar uma maneira de combinar os dois para que eu possa recuperar uma lista dos bugs que afetam o Ubuntu. A documentação de referência da API não menciona nenhum atributo do projeto ou distribution relacionado aos bugs reais (apenas o supervisor de bug), nem o bug deixa claro qual projeto afeta. Dada a maneira como as funções acima funcionam, eu teria esperado

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

para retornar um certo bug que afeta o Ubuntu, mas isso não acontece e não há uma maneira óbvia de fazê-lo.

    
por Chris Wilson 11.11.2011 / 09:35

1 resposta

4

No launchpad, existem duas entidades diferentes:

  • Bugs: informações gerais relacionadas a um problema
  • Tarefa do bug: Informações específicas do projeto / distribuição: status, importância, atribuído a, etc.

Observe que um bug é um conceito geral que pode conter várias tarefas direcionadas a marcos de projetos e distros. Assim, o que você pode procurar por um determinado projeto são as tarefas do bug que foram direcionadas para esse projeto, e não os próprios bugs (você pode obter o bug para cada tarefa de bug).

Assim, a maneira de procurar as informações do bug seria a seguinte:

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

Para mais informações, consulte a documentação da API do método searchTasks (em particular, o parâmetro status é bastante útil).

    
por jcollado 11.11.2011 / 09:59