added username lookups

This commit is contained in:
Mike McGrath 2010-05-19 11:23:28 -05:00
parent e5ebb1a375
commit f0df346e7c

View file

@ -3,6 +3,11 @@
import yum
import sys
from operator import attrgetter
from fedora.client.pkgdb import PackageDB
pkgdb = PackageDB()
bugzacl = pkgdb.get_bugzilla_acls()
my = yum.YumBase()
my.preconf.root ='/var/tmp/skvidal-chroot'
@ -24,6 +29,30 @@ len(my.pkgSack) # just to frob the sack
f13repo = my.repos.findRepos('f13')[0]
f13updates = my.repos.findRepos('f13-updates')[0]
def whoowns(package):
"""<package>
Retrieve the owner of a given package
"""
try:
mainowner = bugzacl['Fedora'][package]['owner']
except KeyError:
irc.reply("No such package exists.")
return
others = []
for key in bugzacl.keys():
if key == 'Fedora':
continue
try:
owner = bugzacl[key][package]['owner']
if owner == mainowner:
continue
except KeyError:
continue
others.append("%s in %s" % (owner, key))
return mainowner
for pkg in sorted(my.pkgSack.returnNewestByNameArch()):
if not pkg.repoid.startswith('f13'):
f13pkgs = []
@ -40,6 +69,7 @@ for pkg in sorted(my.pkgSack.returnNewestByNameArch()):
f13all.sort()
f13all.reverse()
if f13all[0].EVR != pkg.EVR:
print 'greater for f12: %s' % pkg.name
owner = whoowns(pkg.name)
print 'greater for f12: %s (%s)' % (pkg.name, owner)
print ' f12 = %s' % pkg
print ' f13 = %s' % f13all[0]