如何从 PPA 中找出包下载计数?

Dav*_*lla 16 launchpad ppa launchpadlib

我想知道自首次发布以来,PPA 中的给定软件包已被下载了多少次。

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

但我认为,如果我是该 PPA 的所有者,仍然可以通过Launchpad API获得下载数量。任何指针?

小智 18

看看这个脚本:

#!/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'
Run Code Online (Sandbox Code Playgroud)

要使用它:

python ppastats.py webupd8team themes natty i386
Run Code Online (Sandbox Code Playgroud)

  • `sudo pip install launchpadlib &amp;&amp; sudo pip install simplejson` (2认同)