|
From: Tapio V. <aa...@us...> - 2011-10-30 12:06:24
|
Author: Tapio Vierros <tap...@gm...> Date: Sun Oct 30 14:04:49 2011 +0200 New ppastats script that makes it work again. Previous was broken by some LP API changes. --- tools/ppa/ppastats.py | 45 +++++++++++++++++++++++++++------------------ 1 files changed, 27 insertions(+), 18 deletions(-) diff --git a/tools/ppa/ppastats.py b/tools/ppa/ppastats.py index bef3db5..32aa5e3 100755 --- a/tools/ppa/ppastats.py +++ b/tools/ppa/ppastats.py @@ -1,26 +1,35 @@ #!/usr/bin/python -# Prints download stats from Launchpad PPA. +# -*- coding: utf-8 -*- +# Licensed under the GPL v3 +# Written by arand, original: https://launchpadlibrarian.net/81374910/ppastats +# Modified for Performous by Tapio Vierros +# Inspired by Alex Mandel's script snippets at https://bugs.launchpad.net/launchpad/+bug/139855 +# This is my biggest project in python to date, it is KLUDGE beyond imagination. +# On Debian-like systems the package python-launchpadlib is required + +import os from launchpadlib.launchpad import Launchpad -PPAOWNER = "performous-team" # PPA owner -PPA = "ppa" # PPA name +archs = ["i386", "amd64"] +releases = ["lucid", "maverick", "natty", "oneiric"] -cachedir = "~/.cache/launchpadlib/" -apiurl = 'https://api.edge.launchpad.net/devel/ubuntu/' +owner_name = "performous-team" +ppas = ["ppa"] -lp_ = Launchpad.login_anonymously('ppastats', 'edge', cachedir, version='devel') -owner = lp_.people[PPAOWNER] -archive = owner.getPPAByName(name=PPA) +for individual_ppa in ppas: + print "Usage stats for PPA with owner \"" + owner_name + "\" named \"" + individual_ppa + "\"" + print "#####" + cachedir = os.path.expanduser("~/.launchpadlib/cache/") -def printDLCount(distarch): - for i in archive.getPublishedBinaries(status='Published',distro_arch_series=apiurl+distarch): - # Uncomment last part of next line to get daily stats - print i.binary_package_name + "\t" + i.binary_package_version + "\t" + str(i.getDownloadCount()) #+ "\t" + str(i.getDailyDownloadTotals()) + launchpad = Launchpad.login_anonymously('ppastats', 'production', cachedir, version='devel') + owner = launchpad.people[owner_name] + archive = owner.getPPAByName(name=individual_ppa) -print "Package\tVersion\tDownloads" #"\tDaily DLs" -print -printDLCount("maverick/i386") -printDLCount("maverick/amd64") -printDLCount("lucid/i386") -printDLCount("lucid/amd64") + for individual_arch in archs: + for individual_release in releases: + individual_distro_arch_series = "https://api.launchpad.net/devel/ubuntu/" + individual_release + "/" + individual_arch + print "\t" + individual_release + "/" + individual_arch + ":" + for individual_archive in archive.getPublishedBinaries(status='Published',distro_arch_series=individual_distro_arch_series): + print individual_archive.binary_package_name + "\t" + individual_archive.binary_package_version + "\t" + str(individual_archive.getDownloadCount()) + print "#####" |