Como procurar e listar o ppas disponível através da API do launchpad do python?

9

Não consigo descobrir como usar o python launchpadlib para pesquisar por ppas.

Em outras palavras, estou procurando uma interface API python para a pesquisa ppa da barra de ativação oficial (ubuntu). Um formulário web para o serach é oferecido aqui .

Eu gostaria de não apenas procurar por algumas palavras-chave, mas também obter uma lista completa de todos os ppas disponíveis no launchpad.

Alguém poderia me dar uma dica para encontrar as APIs correspondentes?

    
por stackoverflowwww 09.07.2015 / 10:58

1 resposta

5

Encontrando todos os PPAs

Não há API para fazer isso e provavelmente não haverá, já que você não deve solicitar grandes conjuntos de objetos através das APIs do Python.

Encontrando todos os PPAs com um determinado nome

AFAIK não é possível. Informar uma solicitação de recurso no link .

Localizando todos os PPAs de propriedade de um usuário com um determinado nome

Isso é possível, use launchpad.people['username'].ppas , exemplo completo:

python
>>> from launchpadlib.launchpad import Launchpad
>>> launchpad = Launchpad.login_anonymously('just testing', 'production', '/home/user/tmp')
>>> [ ppa.name for ppa in launchpad.people['mvo'].ppas ]
[u'apt-clone-lucid', u'apt-fix-633967', u'apt-ftparchive-arch', u'apt-ftparchive-lucid', u'apt-ftparchive-srccache-backport', u'apt-gcc5', u'apt-https-fix', u'apt-lucid-chris', u'apt-precise', u'apt-src-ftparchive', u'apt-vivid', u'auto-upgrade-tester', u'debsigs-trusty', u'eglibc-trusty', u'freeglut-multiarch', u'gir-multiarch', u'hwe-eol', u'linux-firmware-nonfree', u'lp1347721', u'lp1371058', u'lucid-precise-upgrades', u'lucid-precise-upgrades2', u'oem', u'openoffice', u'ppa', u'public-test', u'python-apt', u'release-upgrader-apt', u'samba4', u'sdk', u'smem', u'synaptic', u'test-dependencies', u'ubuntu-sdk-libs', u'unattended-upgrades', u'upgrade-tests', u'wine', u'wsmancli']

Você pode pensar que pode combinar isso com a pesquisa de pessoas, mas isso não funcionará. Há um limite de quantas pessoas você pode obter (acho que é 50 ou algo parecido).

A API inteira está documentada aqui: link

    
por o9000 02.10.2015 / 23:58