Fix for reviews (OBS issue is fixed)

This commit is contained in:
Stephan Kulow 2019-11-19 15:33:09 +01:00
parent ffe92526fa
commit d126c8a357
3 changed files with 19 additions and 8 deletions

View File

@ -42,9 +42,9 @@ class AdiCommand:
return
for review in info.findall('missing_reviews/review'):
print(query_project + ' ' + Fore.WHITE + 'review: ' + '{} for {}[{}]'.format(
Fore.YELLOW + review.get('by', 'https://github.com/openSUSE/open-build-service/issues/8575') + Fore.RESET,
Fore.YELLOW + self.api.format_review(review) + Fore.RESET,
Fore.CYAN + review.get('package') + Fore.RESET,
review.get('id', 'https://github.com/openSUSE/open-build-service/issues/8575')))
review.get('request')))
return
for check in info.findall('missing_checks/check'):
print(query_project + ' ' + Fore.MAGENTA + 'missing: {}'.format(check.get('name')))

View File

@ -31,13 +31,13 @@ class CheckCommand(object):
break
# Missing reviews
for r in project.findall('missing_reviews/*'):
report.append(' - %s: Missing reviews: %s' % (r.get('package'), r.get('by')))
for r in project.findall('missing_reviews/review'):
report.append(' - %s: Missing reviews: %s' % (r.get('package'), self.api.format_review(r)))
if not verbose:
break
# Building repositories
if project.find('building_repositories/*') is not None:
if project.find('building_repositories/repo') is not None:
report.append(' - At least following repositories are still building:')
for r in project.findall('building_repositories/*'):
report.append(' %s/%s: %s' % (r.get('repository'), r.get('arch'), r.get('state')))
@ -45,9 +45,9 @@ class CheckCommand(object):
break
# Broken packages
if project.find('broken_packages/*') is not None:
if project.find('broken_packages/package') is not None:
report.append(' - Following packages are broken:')
for r in project.findall('broken_packages/*'):
for r in project.findall('broken_packages/package'):
report.append(' %s (%s): %s' % (r.get('package'), r.get('repository'), r.get('state')))
if not verbose:
break

View File

@ -796,6 +796,17 @@ class StagingAPI(object):
return False
def format_review(self, review):
if review.get('by_group'):
return 'group:{}'.format(review.get('by_group'))
if review.get('by_user'):
return review.get('by_user')
if review.get('by_package'):
return '{}/{}'.format(review.get('by_project'), review.get('by_package'))
if review.get('by_project'):
return review.get('by_project')
raise oscerr.WrongArgs('Invalid review')
def job_history_fail_count(self, history):
fail_count = 0
for job in reversed(history.findall('jobhist')):
@ -1198,7 +1209,7 @@ class StagingAPI(object):
def switch_flag_in_prj(self, project, flag='build', state='disable', repository=None, arch=None):
query = { 'cmd': 'set_flag', 'flag': flag, 'status': state }
if repository:
query['repository'] = _repository
query['repository'] = repository
if arch:
query['arch'] = arch
url = self.makeurl(['source', project], query)