Jak sprawdzić liczbę pobrań pakietu z PPA?

15

Chciałbym wiedzieć, ile pobrań danego pakietu w PPA nastąpiło od czasu jego pierwszej publikacji.

Pamiętam, że wystąpił błąd związany z uzyskaniem tych danych w interfejsie internetowym, ale o ile wiem, nigdy nie został zaimplementowany.

Myślę jednak, że liczbę pobrań można uzyskać za pośrednictwem interfejsu API Launchpad, jeśli jestem właścicielem tego PPA. Jakieś wskazówki?

David Planella
źródło

Odpowiedzi:

17

Sprawdź ten skrypt:

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

Aby go użyć:

python ppastats.py webupd8team themes natty i386
Daker
źródło
2
sudo pip install launchpadlib && sudo pip install simplejson
OverCoder
Wziąłem to i trochę rozszerzyłem: gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 Teraz nie musisz już określać pliku binarnego i otrzymujesz ładnie sformatowaną tabelę.
Nathan Osman
Jaka jest jednostka tej liczby? Całkowity? Na miesiąc? Może link do dokumentacji funkcji podstawowych byłby świetny !? Dzięki!
Matifou
1

Za pomocą ppastats możesz wygenerować raport HTML zawierający statystyki i wykresy dotyczące liczby pobrań PPA ( http://wpitchoune.net/blog/ppastats/ ).

Oto przykład: http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/ .

Jeśli używasz Ubuntu, możesz zainstalować go za pomocą PPA ppa: jfi / ppastats:

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

Następnie, aby wygenerować raport HTML:

ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
JeanFI
źródło
1
Nie ma jeszcze żywej paczki: /
Seth
ppastats kompiluje się dobrze na vivid, przynajmniej w wersji 1.3.3 ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ). Również w pakiecie ubuntu można go zbudować za pomocą git-buildpackage z następującego repozytorium git: git.wpitchoune.net/psensor-pkg-ubuntu.git . W pewnym momencie prawdopodobnie opublikuję go publicznie.
JeanFI
Właśnie zainstalowałem ostatni dostępny pakiet binarny, działał dobrze. Czy zdajesz sobie sprawę, że Launchpad mógł po prostu przebudować pakiet dla nowszej wersji?
Seth
Brak pakietu yakkety :(
Seth,
Na dzień dzisiejszy liczenie na tego ppa dla Xenial i386 wynosi 1. Znajomość liczby b4 instalującej pakiet, która nie przepada dobrze, polega na reputacji. Po prostu mówię
Rondo
1

Z jfi/ppastatspakietu udało mi się dowiedzieć, jak działa interfejs API, i utworzyłem skrypt użytkownika (Greasemonkey / Tampermonkey), który będzie dokładnie wyświetlał liczbę pobrań obok twoich pakietów. Pamiętaj, aby przejść do widoku „Wyświetl wszystkie kompilacje”, do którego dodano dwa łącza w szczegółach pakietu. Poprawki do ulepszeń są mile widziane!

stefansundin
źródło
bicz? Jak to działa? Jak to jest prostsze niż zaakceptowana odpowiedź?
Kaz Wolfe
Jest to wieloplatformowy skrypt uruchamiany w przeglądarce z rozszerzeniem Greasemonkey (Firefox) lub Tampermonkey (Chrome). Powiedziałbym, że to jest prostsze.
stefansundin
Gdzie liczy się pobieranie? Widzę „wyświetlenie liczy się pobieranie”, ale kiedy kliknę, nie widzę ich na stronie ..
Seth
Dziwne. Testowałem najnowszą wersję zarówno z przeglądarką Firefox, jak i Chrome (Greasemonkey i Tampermonkey). Spróbuj przejść do mojego PPA (dla którego go stworzyłem): launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/... Może to mieć pewne problemy z archiwum, które zostało skopiowane pomiędzy wersjami ubuntu, w takim przypadku możesz zobaczyć przędzarkę, która nigdy nie znika. Spróbuję rozwiązać ten problem w późniejszej wersji.
stefansundin
Tak, chodzenie do PPA działa, ale moje pokazuje absolutnie nic . Jest całkiem możliwe, że nikt go jeszcze nie pobrał, ale ppastats wydaje się zaprzeczać, że: paste.ubuntu.com/8752766 (Przepraszam, że nie odpowiedziałem wcześniej, ale nie @uwzględniłeś mnie, więc nie widziałem go do tej pory )
Seth
0

Istnieje inny skrypt Pythona dostępny pod adresem:

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

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

użycie: ppastat.py [-h] [--all] [--arch ARCH] użytkownik [ppa [ppa ...]]

aasche
źródło
Witamy w AskUbuntu! Chociaż może to odpowiedzieć na pytanie, nie ma prawdziwych wyjaśnień, a lepiej, jeśli będzie to komentarz.
No Time
Czy wymaga to specjalnych zależności? Tutaj w Trusty kończy się niepowodzeniem z IndexError: list index out of rangebłędem.
landroni