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

15

J'aimerais savoir combien de téléchargements d'un package donné dans un PPA il y a eu depuis sa première publication.

Je me souviens qu'il y avait un bug à propos de l'obtention de ces métriques sur l'interface utilisateur Web, mais pour autant que je sache, il n'a jamais été implémenté.

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

David Planella
la source

Réponses:

17

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
daker
la source
2
sudo pip install launchpadlib && sudo pip install simplejson
OverCoder
J'ai pris cela et l'ai développé un peu: gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 Maintenant, vous n'avez plus besoin de spécifier un binaire et vous obtenez un tableau bien formaté.
Nathan Osman
Quelle est l'unité de ce décompte? Total? Par mois? Peut-être qu'un lien vers la documentation des fonctions sous-jacentes serait génial!? Merci!
Matifou
1

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 en utilisant le PPA ppa: jfi / ppastats:

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

Puis pour générer le rapport HTML:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
JeanFI
la source
1
Il n'y a pas encore de package vif disponible: /
Seth
ppastats se compile bien sur vivid, au moins la version 1.3.3 ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ). L'emballage ubuntu peut également être construit avec git-buildpackage à partir du référentiel git suivant: git.wpitchoune.net/psensor-pkg-ubuntu.git . Je vais probablement le télécharger publiquement à un moment donné.
JeanFI
Je viens d'installer le dernier paquet binaire disponible, a bien fonctionné. Vous vous rendez compte que Launchpad pourrait simplement reconstruire le package pour une version plus récente pour vous?
Seth
Il n'y a pas de forfait yakkety :(
Seth
À ce jour, le décompte de ce ppa pour xenial i386 est de 1. Il y a un aspect de réputation à connaître le décompte b4 en installant un paquet que cela ne passe pas bien .... disons simplement
Rondo
1

À partir du jfi/ppastatspackage, j'ai réussi à comprendre le fonctionnement de l'API et j'ai créé un script utilisateur (Greasemonkey / Tampermonkey), qui répertoriera soigneusement le nombre de téléchargements à côté de vos packages. Assurez-vous d'aller à la vue "Voir toutes les versions", à laquelle deux liens sont ajoutés dans les détails de votre package. Les correctifs pour les améliorations sont les bienvenus!

stefansundin
la source
whut? Comment cela marche-t-il? Comment est-ce plus simple que la réponse acceptée?
Kaz Wolfe
Il s'agit d'un script multiplateforme que vous exécutez dans votre navigateur avec l'extension Greasemonkey (Firefox) ou l'extension Tampermonkey (Chrome). Je dirais que c'est plus simple.
stefansundin
Où sont les téléchargements? Je vois "voir le nombre de téléchargements" mais quand je clique dessus, je ne les vois pas de toute façon sur la page ..
Seth
Étrange. J'ai testé la dernière version avec Firefox et Chrome (Greasemonkey et Tampermonkey). Essayez d'aller sur mon PPA (qui est celui pour lequel je l'ai fait): launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/… Il peut y avoir quelques problèmes avec une archive qui a été copiée entre les versions d'ubuntu, auquel cas vous pouvez voir une fileuse qui ne s'en va jamais. Je vais essayer de résoudre ce problème dans une version ultérieure.
stefansundin
Oui, aller à vos travaux PPA, mais le mien ne montre absolument rien . Il est tout à fait possible que personne ne l'ait encore téléchargé, mais ppastats semble contredire cela: paste.ubuntu.com/8752766 (Désolé, je n'ai pas répondu plus tôt, mais vous ne m'avez pas @inclus donc je ne l'ai pas vu jusqu'à présent )
Seth
0

Il existe un autre script python disponible sur:

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 ...]]

aasche
la source
Bienvenue sur AskUbuntu! Bien que cela puisse éventuellement répondre à la question, il n'y a pas de véritables explications, et cela pourrait être mieux en tant que commentaire.
Pas de temps du
Faut-il des dépendances spéciales? Ici, sur Trusty, il échoue avec une IndexError: list index out of rangeerreur.
landroni