web-dev-qa-db-fra.com

Comment connaître le nombre de téléchargements de paquets à partir d'un PPA?

J'aimerais savoir combien de téléchargements d'un paquet donné dans un PPA ont eu lieu depuis sa première publication.

Je me souviens qu'il y avait n bogue à propos de l'obtention de ces métriques sur l'interface utilisateur Web, mais pour autant que je sache, cela n'a jamais été mis en œuvre.

Mais je pense que le nombre de téléchargements peut néanmoins être obtenu via le API Launchpad si je suis le propriétaire de ce PPA. Des pointeurs?

15
David Planella

Découvrez ce 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'

Pour l'utiliser:

python ppastats.py webupd8team themes natty i386
17
daker

À partir du paquetage jfi/ppastats, j'ai réussi à comprendre le fonctionnement de l'API et j'ai créé un script utilisateur (Greasemonkey/Tampermonkey), qui listera clairement le nombre de téléchargements en regard de vos paquets. Assurez-vous d’aller dans la vue "Afficher toutes les versions", à laquelle deux liens sont ajoutés dans les détails de votre package. Les correctifs pour des améliorations sont les bienvenus!

1
stefansundin

Vous pouvez générer un rapport HTML contenant des statistiques et des graphiques sur le nombre de téléchargements d'un PPA avec ppastats ( http://wpitchoune.net/blog/ppastats/ ).

Voici un exemple: http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/ .

Si vous utilisez Ubuntu, vous pouvez l'installer à l'aide du PPA ppa: jfi/ppastats:

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

Ensuite, pour générer le rapport HTML:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
1
JeanFI

Un autre script python est disponible à l'adresse suivante:

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

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

utilisation: ppastat.py [-h] [--all] [--Arch ARCH] utilisateur [ppa [ppa ...]]

0
aasche