我想知道自从给定软件包在PPA中首次发布以来有多少次下载。
我记得有一个关于在Web界面上获取这些指标的错误报告,但据我所知,它从未被实现。
但是,我认为如果我是该PPA的所有者,仍然可以通过Launchpad API获得下载次数。请指点一下?
我想知道自从给定软件包在PPA中首次发布以来有多少次下载。
我记得有一个关于在Web界面上获取这些指标的错误报告,但据我所知,它从未被实现。
但是,我认为如果我是该PPA的所有者,仍然可以通过Launchpad API获得下载次数。请指点一下?
#!/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
jfi/ppastats
包中,我成功地弄清了API的工作原理,并且我制作了一个用户脚本(Greasemonkey/Tampermonkey),它会在您的软件包旁边整齐地列出下载次数。请确保进入“查看所有构建”视图,您的软件包详细信息中会添加两个链接。欢迎提供改进的补丁!sudo apt-add-repository ppa:jfi/ppastats
sudo apt-get update
sudo apt-get install ppastats
ppastats [PPA_OWNER] [PPA_NAME] -o [OUTPUT_DIR]
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] user [ppa [ppa ...]]
sudo pip install launchpadlib && sudo pip install simplejson
- OverCoder