如何从 PPA 中找出软件包下载数量?

如何从 PPA 中找出软件包下载数量?

我想知道 PPA 中某个特定软件包自首次发布以来已经被下载了多少次。

我记得有一个错误关于在 Web UI 上获取这些指标的信息,但据我所知,它从未实现过。

但我认为下载次数仍然可以通过启动板 API如果我是该 PPA 的所有者。有什么建议吗?

答案1

查看这个脚本:

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

通过这个jfi/ppastats包,我弄清楚了 API 的工作原理,我制作了一个用户脚本(Greasemonkey/Tampermonkey),它会整齐地列出您软件包旁边的下载数量。请确保转到“查看所有版本”视图,您的软件包详细信息中添加了两个链接。欢迎提供改进补丁!

答案3

您可以使用 ppastats (http://wpitchoune.net/blog/ppastats/)。

以下是一个例子: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]

答案4

还有另一个 Python 脚本可用:

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

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

用法:ppastat.py [-h] [--all] [--arch ARCH] 用户 [ppa [ppa ...]]

相关内容