¿Cómo averiguar el conteo de descargas de paquetes desde un PPA?

15

Me gustaría saber cuántas descargas de un paquete dado en un PPA ha habido desde que se publicó por primera vez.

Recuerdo que hubo un error al respecto al obtener estas métricas en la interfaz de usuario web, pero que yo sepa, nunca se implementó.

Pero creo que el número de descargas se puede obtener a través de la API de Launchpad si soy el propietario de ese PPA. Cualquier puntero?

David Planella
fuente

Respuestas:

17

Mira 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 usarlo:

python ppastats.py webupd8team themes natty i386
daker
fuente
2
sudo pip install launchpadlib && sudo pip install simplejson
OverCoder
Tomé esto y lo expandí un poco: gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 Ahora ya no necesita especificar un binario y obtiene una tabla bien formateada.
Nathan Osman
¿Cuál es la unidad de este recuento? ¿Total? ¿Por mes? ¿Quizás un enlace a la documentación de funciones subyacentes sería genial? ¡Gracias!
Matifou
1

Puede generar un informe HTML que contenga estadísticas y gráficos sobre los recuentos de descargas de un PPA con ppastats ( http://wpitchoune.net/blog/ppastats/ ).

Aquí hay un ejemplo: http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/ .

Si está usando Ubuntu, puede instalarlo usando el PPA ppa: jfi / ppastats:

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

Luego, para generar el informe HTML:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
JeanFI
fuente
1
No hay un paquete vívido disponible todavía: /
Seth
ppastats está compilando bien en vivo, al menos la versión 1.3.3 ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ). El paquete ubuntu también se puede construir con git-buildpackage desde el siguiente repositorio de git: git.wpitchoune.net/psensor-pkg-ubuntu.git . Probablemente lo subiré públicamente en algún momento.
JeanFI
Acabo de instalar el último paquete binario disponible, funcionó bien. ¿Te das cuenta de que podrías hacer que Launchpad reconstruya el paquete para una nueva versión para ti?
Seth
No hay paquete yakkety :(
Seth
A partir de hoy, el recuento de este ppa para xenial i386 es 1. Hay un aspecto de reputación al saber que el conteo b4 instala un paquete que esto no pasa bien ... solo digo
Rondo
1

A partir del jfi/ppastatspaquete, logré descubrir cómo funcionaba la API, e hice un script de usuario (Greasemonkey / Tampermonkey), que enumerará perfectamente el recuento de descargas junto a sus paquetes. Asegúrese de ir a la vista "Ver todas las compilaciones", a la que hay dos enlaces agregados en los detalles de su paquete. ¡Los parches para mejoras son bienvenidos!

stefansundin
fuente
¿qué? ¿Como funciona esto? ¿Cómo es esto más simple que la respuesta aceptada?
Kaz Wolfe
Es un script multiplataforma que ejecuta en su navegador con la extensión Greasemonkey (Firefox) o la extensión Tampermonkey (Chrome). Yo diría que es más simple.
stefansundin
¿Dónde están los recuentos de descargas? Veo "ver el recuento de descargas" pero cuando hago clic en eso no los veo de todos modos en la página ...
Seth
Extraño. Probé la última versión con Firefox y Chrome (Greasemonkey y Tampermonkey). Intente ir a mi PPA (que es para el que lo hice): launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/… Puede tener algunos problemas con un archivo que se ha copiado entre las versiones de ubuntu, en cuyo caso Es posible que vea una ruleta que nunca desaparece. Intentaré resolver esto en una versión posterior.
stefansundin
Sí, ir a tu PPA funciona, pero el mío no muestra absolutamente nada . Es completamente posible que nadie lo haya descargado todavía, pero ppastats parece contradecir eso: paste.ubuntu.com/8752766 (Lo siento, no respondí antes, pero no @me incluiste, así que no lo vi hasta ahora )
Seth
0

Hay otro script de Python disponible en:

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] [--todos] [--arch ARCH] usuario [ppa [ppa ...]]

aasche
fuente
¡Bienvenido a AskUbuntu! Aunque esto posiblemente responda la pregunta, no hay explicaciones reales, y esto podría ser mejor como comentario.
No Time
¿Requiere alguna dependencia especial? Aquí en Trusty falla con un IndexError: list index out of rangeerror.
landroni