Merge pull request #1121 from jberry-suse/set_bugowner

Handle set_bugowner requests to avoid mixing them where they do not belong
This commit is contained in:
Jimmy Berry 2017-09-13 21:17:44 -05:00 committed by GitHub
commit 92a3a28ac9
2 changed files with 14 additions and 13 deletions

View File

@ -29,11 +29,7 @@ class ListCommand:
if not len(requests): return
splitter = RequestSplitter(self.api, requests, in_ring=True)
splitter.filter_add('./action[@type="change_devel"]')
change_devel_requests = splitter.filter_only()
splitter.reset()
splitter.filter_add('./action[not(@type="add_role" or @type="change_devel")]')
splitter.filter_add('./action[@type="submit" or @type="delete"]')
splitter.group_by('./action/target/@devel_project')
splitter.split()
@ -71,12 +67,17 @@ class ListCommand:
non_ring_packages.append(request.find('./action/target').get('package'))
print 'Not in a ring:', ' '.join(sorted(non_ring_packages))
if len(change_devel_requests):
print '\nChange devel requests:'
for request in change_devel_requests:
target_package = request.find('./action/target').get('package')
url = self.api.makeurl(['request', 'show', request.get('id')])
print('- request({}): {}'.format(target_package, url))
# Print requests not handled by staging process to highlight them.
for request_type in ('change_devel', 'set_bugowner'):
splitter.reset()
splitter.filter_add('./action[@type="{}"]'.format(request_type))
requests = splitter.filter_only()
if len(requests):
print('\n{} request(s)'.format(request_type))
for request in sorted(requests, key=lambda s: s.get('id')):
print(' {} {}'.format(
self.api.makeurl(['request', 'show', request.get('id')]),
request.find('./action/target').get('package')))
def project_strip(self, source_project):
home = source_project.startswith('home:')

View File

@ -65,7 +65,7 @@ class RequestFinder(object):
:param package: name of the package
"""
query = 'states=new,review&project={}&view=collection&package={}'
query = 'types=submit,delete&states=new,review&project={}&view=collection&package={}'
query = query.format(self.api.project, urllib2.quote(package))
url = makeurl(self.api.apiurl, ['request'], query)
f = http_GET(url)
@ -100,7 +100,7 @@ class RequestFinder(object):
:param newcand: the review state of staging-group must be new
"""
query = 'states=new,review&project={}&view=collection'.format(self.api.project)
query = 'types=submit,delete&states=new,review&project={}&view=collection'.format(self.api.project)
url = makeurl(self.api.apiurl, ['request'], query)
f = http_GET(url)
root = ET.parse(f).getroot()