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?

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

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]

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!


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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.