- allow rss feed to filter by package name (specified with package=)
- allow listTagged* and readTagged* to filter by package owner name (specified with owner=) - allow the builds page in the web UI to filter by package ID (specified with packageID=)
This commit is contained in:
parent
1c6ffe3ae0
commit
ecc44a59bd
4 changed files with 71 additions and 45 deletions
|
|
@ -902,7 +902,7 @@ def readPackageList(tagID=None, userID=None, pkgID=None, event=None, inherit=Fal
|
|||
return packages
|
||||
|
||||
|
||||
def readTaggedBuilds(tag,event=None,inherit=False,latest=False,package=None):
|
||||
def readTaggedBuilds(tag,event=None,inherit=False,latest=False,package=None,owner=None):
|
||||
"""Returns a list of builds for specified tag
|
||||
|
||||
set inherit=True to follow inheritance
|
||||
|
|
@ -945,6 +945,9 @@ def readTaggedBuilds(tag,event=None,inherit=False,latest=False,package=None):
|
|||
if package:
|
||||
q += """AND package.name = %(package)s
|
||||
"""
|
||||
if owner:
|
||||
q += """AND users.name = %(owner)s
|
||||
"""
|
||||
q += """ORDER BY tag_listing.create_event DESC
|
||||
"""
|
||||
# i.e. latest first
|
||||
|
|
@ -971,7 +974,7 @@ def readTaggedBuilds(tag,event=None,inherit=False,latest=False,package=None):
|
|||
|
||||
return builds
|
||||
|
||||
def readTaggedRPMS(tag, package=None, arch=None, event=None,inherit=False,latest=True,rpmsigs=False):
|
||||
def readTaggedRPMS(tag, package=None, arch=None, event=None,inherit=False,latest=True,rpmsigs=False,owner=None):
|
||||
"""Returns a list of rpms for specified tag
|
||||
|
||||
set inherit=True to follow inheritance
|
||||
|
|
@ -984,7 +987,7 @@ def readTaggedRPMS(tag, package=None, arch=None, event=None,inherit=False,latest
|
|||
# (however, it is fairly quick)
|
||||
taglist += [link['parent_id'] for link in readFullInheritance(tag, event)]
|
||||
|
||||
builds = readTaggedBuilds(tag, event=event, inherit=inherit, latest=latest, package=package)
|
||||
builds = readTaggedBuilds(tag, event=event, inherit=inherit, latest=latest, package=package, owner=owner)
|
||||
#index builds
|
||||
build_idx = dict([(b['build_id'],b) for b in builds])
|
||||
|
||||
|
|
@ -4371,22 +4374,23 @@ class RootExports(object):
|
|||
raise koji.ActionNotAllowed, 'Cannot cancel task, not owner'
|
||||
task.cancelChildren()
|
||||
|
||||
def listTagged(self,tag,event=None,inherit=False,prefix=None,latest=False,package=None):
|
||||
def listTagged(self,tag,event=None,inherit=False,prefix=None,latest=False,package=None,owner=None):
|
||||
"""List builds tagged with tag"""
|
||||
if not isinstance(tag,int):
|
||||
#lookup tag id
|
||||
tag = get_tag_id(tag,strict=True)
|
||||
results = readTaggedBuilds(tag,event,inherit=inherit,latest=latest,package=package)
|
||||
results = readTaggedBuilds(tag,event,inherit=inherit,latest=latest,package=package,owner=owner)
|
||||
if prefix:
|
||||
prefix = prefix.lower()
|
||||
results = [build for build in results if build['package_name'].lower().startswith(prefix)]
|
||||
return results
|
||||
|
||||
def listTaggedRPMS(self,tag,event=None,inherit=False,latest=False,package=None,arch=None,rpmsigs=False):
|
||||
def listTaggedRPMS(self,tag,event=None,inherit=False,latest=False,package=None,arch=None,rpmsigs=False,owner=None):
|
||||
"""List rpms and builds within tag"""
|
||||
if not isinstance(tag,int):
|
||||
#lookup tag id
|
||||
tag = get_tag_id(tag,strict=True)
|
||||
return readTaggedRPMS(tag,event=event,inherit=inherit,latest=latest,package=package,arch=arch,rpmsigs=rpmsigs)
|
||||
return readTaggedRPMS(tag,event=event,inherit=inherit,latest=latest,package=package,arch=arch,rpmsigs=rpmsigs,owner=owner)
|
||||
|
||||
def listBuilds(self, packageID=None, userID=None, taskID=None, prefix=None, state=None,
|
||||
completeBefore=None, completeAfter=None, queryOpts=None):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue