PPA'dan paket indirme sayısını nasıl öğrenebilirim?


15

Bir PPA'da belirli bir paketin ilk kez yayınlandığından beri kaç indirme olduğunu bilmek istiyorum.

Bu metriklerin web arayüzünde elde edilmesiyle ilgili bir hata olduğunu hatırlıyorum , ancak bildiğim kadarıyla hiç uygulanmadı.

Ancak , bu PPA'nın sahibiysem, indirme sayısının yine de Launchpad API yoluyla elde edilebileceğini düşünüyorum . İşaretçi var mı?

Yanıtlar:


17

Bu betiğe göz atın:

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

Kullanmak için:

python ppastats.py webupd8team themes natty i386

2
sudo pip install launchpadlib && sudo pip install simplejson
OverCoder

Bunu aldım ve biraz genişlettim: gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 Artık bir ikili belirtmeniz gerekmiyor ve güzelce biçimlendirilmiş bir tablo alıyorsunuz.
Nathan Osman

Bu sayının birimi nedir? Toplam? Her ay? Belki de altta yatan işlevler belgelerine bir bağlantı harika olurdu !? Teşekkürler!
Matifou

1

PPasta'lı bir PPA'nın indirme sayılarına ilişkin istatistikleri ve grafikleri içeren bir HTML raporu oluşturabilirsiniz ( http://wpitchoune.net/blog/ppastats/ ).

İşte bir örnek: http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/ .

Ubuntu kullanıyorsanız, PPA ppa: jfi / ppastats kullanarak yükleyebilirsiniz:

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

Ardından HTML raporu oluşturmak için:

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

1
Henüz canlı bir paket yok: /
Seth

ppastats canlı olarak iyi derliyor, en azından 1.3.3 sürümü ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ). Ubuntu ambalajında ​​da git-buildpackage ile şu git deposundan oluşturulabilir: git.wpitchoune.net/psensor-pkg-ubuntu.git . Muhtemelen bir noktada kamusal olarak yükleyeceğim.
JeanFI

Son kullanılabilir ikili paketi yükledim, iyi çalıştı. Launchpad'in daha yeni bir sürüm için paketi yeniden oluşturmasını sağlayabileceğinizi biliyor musunuz?
Seth

Yakkety paketi yok :(
Seth

Bugün itibariyle, xenial i386 için bu ppa üzerindeki sayım 1'dir. Bunun iyi geçmediği bir paket kurarak b4 sayımını bilmek için bir itibar yönü vardır .... sadece söylüyorum
Rondo

1

Gönderen jfi/ppastatspaketin, API nasıl çalıştığını anlamaya başardı ve ben bir userscript yapılan düzgünce paketleri yanındaki indirme sayısını listeler (Greasemonkey / Tampermonkey). Paket ayrıntılarınıza iki bağ eklenmiş olan "Tüm yapıları görüntüle" görünümüne gittiğinizden emin olun. İyileştirmeler için yamalar açıktır!


whut? Bu nasıl çalışıyor? Bu, kabul edilen cevaptan ne kadar basit?
Kaz Wolfe

Tarayıcınızda Greasemonkey uzantısı (Firefox) veya Tampermonkey uzantısı (Chrome) ile çalıştırdığınız çapraz platform komut dosyasıdır. Daha basit olduğunu söyleyebilirim.
stefansundin

İndirme sayıları nerede? "İndirme sayılarını görüntüle" yi görüyorum, ancak tıkladığımda onları zaten sayfada görmüyorum ..
Seth

Garip. En son sürümü hem Firefox hem de Chrome (Greasemonkey ve Tampermonkey) ile test ettim. PPA'ma (bunun için yaptığım) gitmeye çalışın: launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/… Ubuntu sürümleri arasında kopyalanan bir arşivde bazı sorunlar olabilir, bu durumda asla gitmeyen bir dönücü görebilirsiniz. Bunu daha sonraki bir sürümde çözmeye çalışacağım.
stefansundin

Evet, PPA'nıza gitmek işe yarıyor, ama benimki hiçbir şey göstermiyor . Henüz kimse henüz indirmedi, ancak ppastats şu ile çelişiyor gibi görünüyor: paste.ubuntu.com/8752766 (Üzgünüm, daha önce cevap vermedim, ama @beni dahil etmedin, bu yüzden şimdiye kadar görmedim )
Seth

0

Şurada mevcut başka bir python betiği var:

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

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

kullanım: ppastat.py [-h] [--all] [--arch ARCH] kullanıcı [ppa [ppa ...]]


AskUbuntu'ya hoş geldiniz! Bu muhtemelen soruyu cevaplasa da, gerçek bir açıklama yoktur ve bu bir yorum olarak daha iyi olabilir.
Zaman Yok

Herhangi bir özel bağımlılık gerektiriyor mu? İşte Trusty'de bir IndexError: list index out of rangehata ile başarısız oluyor .
landroni
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.