PPA에서 패키지 다운로드 수를 확인하는 방법은 무엇입니까?


15

PPA에서 특정 패키지를 처음 다운로드 한 이후로 다운로드 한 횟수를 알고 싶습니다.

나는 거기 기억 버그 그것에 대해이 웹 UI에서 이러한 통계를 얻기에 관하여,하지만 내가 아는 한, 그것은 결코 구현되지되었다.

그럼에도 불구하고 PPA의 소유자 인 경우 Launchpad API 를 통해 다운로드 수를 얻을 수 있다고 생각합니다 . 어떤 포인터?

답변:


17

이 스크립트를 확인하십시오 :

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

그것을 사용하려면 :

python ppastats.py webupd8team themes natty i386

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

나는 이것을 가지고 조금 확장했다 : gist.github.com/nathan-osman/b9158d058cc45916dcd20a591b66d0b4 이제 더 이상 바이너리를 지정할 필요가 없으며 멋진 형식의 테이블을 얻습니다.
Nathan Osman

이 수의 단위는 무엇입니까? 합계? 달마다? 아마도 기본 함수 문서에 대한 링크가 좋을 것입니다!? 감사!
Matifou

1

ppastats ( http://wpitchoune.net/blog/ppastats/ ) 를 사용하여 PPA의 다운로드 수에 대한 통계 및 그래프가 포함 된 HTML 보고서를 생성 할 수 있습니다 .

다음은 그 예이다 : http://wpitchoune.net/ppastats/ppa/otto-kesselgulasch/gimp/ .

Ubuntu를 사용하는 경우 PPA ppa : jfi / ppastats를 사용하여 설치할 수 있습니다.

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

그런 다음 HTML 보고서를 생성하십시오.

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

1
아직 생생한 패키지가 없습니다 : /
Seth

ppastats는 생생한 버전 1.3.3 ( wpitchoune.net/ppastats/files/ppastats-1.3.3.tar.gz ) 에서 잘 컴파일 됩니다. 우분투 패키징도 git.wpitchoune.net/psensor-pkg-ubuntu.git git 저장소에서 git-buildpackage로 빌드 할 수 있습니다 . 아마 언젠가는 그것을 공개적으로 업로드 할 것입니다.
JeanFI

방금 사용 가능한 마지막 바이너리 패키지를 설치했는데 정상적으로 작동했습니다. Launchpad가 새로운 릴리스를 위해 패키지를 다시 빌드 할 수 있다는 것을 알고 있습니까?
세스

yakkety 패키지는 없습니다 :(
Seth

오늘 xenial i386에 대한이 PPA의 수는 1입니다. b4가 패키지를 설치하는 것이 좋지 않다는 사실을 알고있는 평판 측면이 있습니다 .... 그냥 말하십시오 '
Rondo

1

로부터 jfi/ppastats패키지, 나는 API가 어떻게 작동하는지 알아 내기 위해 관리하고, 나는 userscript 만들어 깔끔하게 패키지 옆에있는 다운로드 수를 나열합니다 (그리스 몽키 / Tampermonkey을). 패키지 세부 사항에 두 개의 링크가 추가 된 "모든 빌드보기"보기로 이동하십시오. 개선을위한 패치는 환영합니다!


헛? 어떻게 작동합니까? 이것이 대답보다 간단합니까?
Kaz Wolfe

Greasemonkey 확장 (Firefox) 또는 Tampermonkey 확장 (Chrome)을 사용하여 브라우저에서 실행하는 크로스 플랫폼 스크립트입니다. 나는 그것이 더 간단하다고 말할 것입니다.
stefansundin

다운로드 횟수는 어디에 있습니까? "다운로드 횟수보기"가 표시되지만 클릭하면 페이지에 표시되지 않습니다.
Seth

이상한. Firefox와 Chrome (Greasemonkey 및 Tampermonkey)으로 최신 버전을 테스트했습니다. 내 PPA (내가 만든 PPA)로 이동하십시오 : launchpad.net/~stefansundin/+archive/ubuntu/truecrypt/… 우분투 버전간에 복사 된 아카이브에 문제가있을 수 있습니다. 당신은 결코 사라지지 않는 스피너를 볼 수 있습니다. 이후 버전에서이 문제를 해결하려고합니다.
stefansundin

네, 당신의 PPA에가는 것은 효과가 있지만, 나의 것은 전혀 아무것도 보여주지 않습니다 . 아무도 아직 다운로드하지 않았다 전적으로 가능하지만, ppastats는 것을 모순 보인다 paste.ubuntu.com/8752766가 (미안 이전에 응답하지 않았다,하지만 당신은하지 않았다 @지금까지 내가 그것을 보지 못했다, 그래서 나를 포함 )
Seth

0

다른 파이썬 스크립트가 있습니다 :

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

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

사용법 : ppastat.py [-h] [--all] [--arch ARCH] 사용자 [ppa [ppa ...]]


AskUbuntu에 오신 것을 환영합니다! 이것이 질문에 대답 할 수도 있지만 실제 설명은 없으며 주석으로 더 나을 수 있습니다.
시간 없음

특별한 의존성이 필요합니까? 여기 Trusty에서는 오류와 함께 실패합니다 IndexError: list index out of range.
landroni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.