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?

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

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]

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!


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.