Bagaimana cara mengetahui jumlah unduhan paket dari PPA?

15

Saya ingin tahu berapa banyak unduhan dari paket yang diberikan dalam PPA yang ada sejak pertama kali diterbitkan.

Saya ingat ada bug tentang mendapatkan metrik ini di web UI, tapi sejauh yang saya tahu, itu tidak pernah diimplementasikan.

Namun saya pikir jumlah unduhan tetap dapat diperoleh melalui API Launchpad jika saya adalah pemilik PPA tersebut. Ada petunjuk?

David Planella
sumber

Jawaban:

17

Lihat skrip ini:

#!/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'

Untuk menggunakannya:

python ppastats.py webupd8team themes natty i386
Daker
sumber
2
sudo pip install launchpadlib && sudo pip install simplejson
OverCoder
Saya mengambil ini dan sedikit mengembangkannya : gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 Sekarang Anda tidak perlu lagi menentukan biner dan Anda mendapatkan tabel yang diformat dengan baik.
Nathan Osman
1

Anda dapat membuat laporan HTML yang berisi statistik dan grafik tentang jumlah unduhan PPA dengan ppastats ( http://wpitchoune.net/blog/ppastats/ ).

Berikut ini sebuah contoh: http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/ .

Jika Anda menggunakan Ubuntu, Anda dapat menginstalnya dengan menggunakan PPA ppa: jfi / ppastats:

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

Kemudian untuk menghasilkan laporan HTML:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
JeanFI
sumber
1
Belum ada paket jelas: /
Seth
ppastats sedang dikompilasi dengan baik pada vivid, setidaknya versi 1.3.3 ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ). Kemasan ubuntu juga dapat dibuat dengan git-buildpackage dari repositori git berikut: git.wpitchoune.net/psensor-pkg-ubuntu.git . Saya mungkin akan mengunggahnya secara publik di beberapa titik.
JeanFI
Saya baru saja menginstal paket biner terakhir yang tersedia, berfungsi dengan baik. Anda sadar Anda bisa saja Launchpad membangun kembali paket untuk rilis yang lebih baru untuk Anda?
Seth
Tidak ada paket yakkety :(
Seth
Sampai hari ini, jumlah ppa untuk xenial i386 adalah 1. Ada aspek reputasi untuk mengetahui jumlah b4 menginstal paket yang tidak lulus dengan baik .... sayin '
Rondo
1

Dari jfi/ppastatspaket tersebut, saya berhasil mengetahui cara kerja API, dan saya membuat skrip pengguna (Greasemonkey / Tampermonkey), yang akan dengan rapi mencantumkan jumlah unduhan di sebelah paket Anda. Pastikan untuk pergi ke tampilan "Lihat semua build", di mana ada dua tautan yang ditambahkan dalam detail paket Anda. Tambalan untuk perbaikan dipersilahkan!

stefansundin
sumber
apa Bagaimana cara kerjanya? Bagaimana ini lebih sederhana daripada jawaban yang diterima?
Kaz Wolfe
Ini adalah skrip lintas platform yang Anda jalankan di peramban dengan ekstensi Greasemonkey (Firefox) atau ekstensi Tampermonkey (Chrome). Saya akan mengatakan bahwa ini lebih sederhana.
stefansundin
Di mana jumlah unduhan? Saya melihat "melihat jumlah unduhan" tetapi ketika saya mengklik itu saya tidak melihatnya di halaman ..
Seth
Aneh. Saya menguji versi terbaru dengan Firefox dan Chrome (Greasemonkey dan Tampermonkey). Coba buka PPA saya (yang merupakan tujuan saya membuatnya): launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/... Mungkin ada beberapa masalah dengan arsip yang telah disalin antara versi ubuntu, dalam hal ini Anda mungkin melihat pemintal yang tidak pernah hilang. Saya akan mencoba menyelesaikannya dalam versi yang lebih baru.
stefansundin
Ya, pergi ke PPA Anda berfungsi, tetapi milik saya sama sekali tidak menunjukkan apa-apa . Sangat mungkin belum ada yang mengunduhnya, tetapi ppastats tampaknya bertentangan bahwa: paste.ubuntu.com/8752766 (Maaf saya tidak membalas sebelumnya, tetapi Anda tidak @memasukkan saya jadi saya tidak melihatnya sampai sekarang )
Seth
0

Ada skrip python lain yang tersedia di:

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

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

penggunaan: ppastat.py [-h] [--all] [--arch ARCH] pengguna [ppa [ppa ...]]

Aasche
sumber
Selamat datang di AskUbuntu! Meskipun ini mungkin menjawab pertanyaan, tidak ada penjelasan nyata, dan ini mungkin lebih baik sebagai komentar.
No Time
Apakah itu memerlukan dependensi khusus? Di sini, di Trusty gagal dengan IndexError: list index out of rangekesalahan.
landroni