我想知道自从首次发布以来,PPA中给定软件包的下载量已经达到了多少。
我记得关于在Web UI上获取这些指标存在一个错误,但是据我所知,它从未实现。
但是我认为,如果我是该PPA的所有者,则可以通过Launchpad API获得下载次数。有指针吗?
我想知道自从首次发布以来,PPA中给定软件包的下载量已经达到了多少。
我记得关于在Web UI上获取这些指标存在一个错误,但是据我所知,它从未实现。
但是我认为,如果我是该PPA的所有者,则可以通过Launchpad API获得下载次数。有指针吗?
Answers:
查看以下脚本:
#!/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
您可以使用ppastats(http://wpitchoune.net/blog/ppastats/)生成一个HTML报告,其中包含有关PPA下载计数的统计数据和图形。
这是一个示例: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]
通过该jfi/ppastats
软件包,我设法弄清楚了API的工作方式,并制作了一个用户脚本(Greasemonkey / Tampermonkey),该脚本将整洁地在软件包旁边列出下载计数。确保进入“查看所有内部版本”视图,您的软件包详细信息中添加了两个链接。欢迎改进补丁!
@
包括我,所以直到现在我才看到它)
还有另一个可用的python脚本:
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 ...]]
IndexError: list index out of range
错误。
sudo pip install launchpadlib && sudo pip install simplejson