Como descobrir a contagem de downloads de pacotes de um PPA?

15

Gostaria de saber quantos downloads de um determinado pacote em um PPA existem desde que ele foi publicado pela primeira vez.

Eu lembro que havia um erro ao obter essas métricas na interface da web, mas, tanto quanto sei, nunca foi implementado.

No entanto, acho que o número de downloads pode ser obtido por meio da API do Launchpad se eu for o proprietário desse PPA. Alguma dica?

David Planella
fonte

Respostas:

17

Confira este script:

#!/usr/bin/python2

# Usage python ppastats.py PPATEAM (ex: webupd8team) PPA (ex: gthumb) DIST (Ubuntu version eg maverick) ARCH (ubuntu arch eg i386 or amd64)
# Example - highest downloaded file: python ppastats.py webupd8team y-ppa-manager maverick amd64 | tr '\t' ',' | cut -d ',' -f3 | sort -gr

import sys
from launchpadlib.launchpad import Launchpad

PPAOWNER = sys.argv[1]
PPA = sys.argv[2]
desired_dist_and_arch = 'https://api.launchpad.net/devel/ubuntu/' + sys.argv[3] + '/' + sys.argv[4]

cachedir = "~/.launchpadlib/cache/"
lp_ = Launchpad.login_anonymously('ppastats', 'production', cachedir)
owner = lp_.people[PPAOWNER]
archive = owner.getPPAByName(name=PPA)

for individualarchive in archive.getPublishedBinaries(status='Published', distro_arch_series=desired_dist_and_arch):
    x = individualarchive.getDownloadCount()
    if x > 0:
        print individualarchive.binary_package_name + "\t" + individualarchive.binary_package_version + "\t" + str(individualarchive.getDownloadCount())
    elif x < 1:
        print '0'

Para usá-lo:

python ppastats.py webupd8team themes natty i386
daker
fonte
2
sudo pip install launchpadlib && sudo pip install simplejson
precisa saber é o seguinte
Peguei isso e expandi um pouco: gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 Agora você não precisa mais especificar um binário e obtém uma tabela bem formatada.
Nathan Osman
1

Você pode gerar um relatório HTML contendo estatísticas e gráficos sobre as contagens de download de um PPA com ppastats ( http://wpitchoune.net/blog/ppastats/ ).

Aqui está um exemplo: http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/ .

Se você estiver usando o Ubuntu, poderá instalá-lo usando o PPA ppa: jfi / ppastats:

sudo apt-add-repository ppa:jfi/ppastats
sudo apt-get update
sudo apt-get install ppastats

Em seguida, para gerar o relatório HTML:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
JeanFI
fonte
11
Não existe um pacote vívida disponíveis ainda: /
Seth
O ppastats está compilando bem no vívido, pelo menos a versão 1.3.3 ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ). O pacote ubuntu também pode ser construído com o git-buildpackage no seguinte repositório git: git.wpitchoune.net/psensor-pkg-ubuntu.git . Provavelmente vou carregá-lo publicamente em algum momento.
JeanFI 16/09/2015
Acabei de instalar o último pacote binário disponível, funcionou bem. Você percebe que poderia apenas ter o Launchpad reconstruído o pacote para uma versão mais recente para você?
Seth
Não há nenhum pacote yakkety :(
Seth
A partir de hoje, a contagem neste ppa para i386 hospitaleiro é 1. Há um aspecto reputação de conhecer a b4 contagem de instalar um pacote que isso não passa bem .... apenas dizendo
Rondo
1

A partir do jfi/ppastatspacote, consegui descobrir como a API funcionava e criei um script de usuário (Greasemonkey / Tampermonkey), que listará perfeitamente a contagem de downloads ao lado dos seus pacotes. Certifique-se de ir para a exibição "Ver todas as compilações", na qual há dois links adicionados nos detalhes do seu pacote. Patches para melhorias são bem-vindos!

stefansundin
fonte
quem? Como é que isso funciona? Como isso é mais simples que a resposta aceita?
Kaz Wolfe
É um script multiplataforma que você executa no seu navegador com a extensão Greasemonkey (Firefox) ou a extensão Tampermonkey (Chrome). Eu diria que é mais simples.
stefansundin 26/09/14
Onde estão as contagens de download? Eu vejo "ver as contagens de downloads" mas quando eu clico que eu não vê-los de qualquer maneira na página ..
Seth
Estranho. Testei a versão mais recente com o Firefox e o Chrome (Greasemonkey e Tampermonkey). Tente ir ao meu PPA (que eu fiz para isso): launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/… Pode haver alguns problemas com um arquivo que foi copiado entre as versões do ubuntu, nesse caso você pode ver um botão giratório que nunca desaparece. Vou tentar resolver isso em uma versão posterior.
amigos estão dizendo sobre stefansundin
Sim, ir ao seu PPA funciona, mas o meu não mostra absolutamente nada . É perfeitamente possível que ninguém o tenha baixado ainda, mas o ppastats parece contradizer isso: paste.ubuntu.com/8752766 (Desculpe, eu não respondi anteriormente, mas você não @me incluiu, então eu não o vi até agora )
Seth
0

Há outro script python disponível em:

https://bugs.launchpad.net/launchpad/+bug/139855/comments/66

DL: https://bugs.launchpad.net/launchpad/+bug/139855/+attachment/3217345/+files/ppastats

uso: ppastat.py [-h] [--all] [--arch ARCH] usuário [ppa [ppa ...]]

aasche
fonte
Bem-vindo ao AskUbuntu! Embora isso possa responder à pergunta, não há explicações reais e isso pode ser melhor como um comentário.
No Time
Requer alguma dependência especial? Aqui no Trusty falha com um IndexError: list index out of rangeerro.
landroni