for pkginfo in target['packages']:
codes.add(pkginfo[1])
status = ','.join(codes) or 'None'
- return 'packages: ' + status
+ return status
+def show_images(meta):
+ if 'images' in meta:
+ print ' images:', ','.join("%s:%s" % (img['name'], img['status']) \
+ for img in meta['images'])
+
def list_submissions(obs, regexp):
"""List submissions and groups."""
# submissions
- submissions = set()
- header = True
+ groups = []
for project, desc in obs.get_projects('^%s.*%s' % (OBS_PREFIX, regexp)):
+ meta = json.loads(desc)
if ':submitgroup:' in project:
+ groups.append(meta)
continue
- meta = json.loads(desc)
- submissions.add(meta['git_tag'])
- if header:
- print ':::: Submissions:'
- header = False
- print meta['git_tag'], meta['obs_target_prj'], \
- get_status(obs, project)
-
- # Groups, related to selected submissions
- header = True
- for project, desc in obs.get_projects('^%ssubmitgroup' % OBS_PREFIX):
- meta = json.loads(desc)
- lsub = set(meta['submissions'])
- if lsub.intersection(submissions):
- if header:
- print ':::: Groups:'
- header = False
- print meta['name'], ','.join(subm.split('/')[-1] for subm in lsub)
+ print meta['git_tag'], meta['obs_target_prj'],
+ print ' projects: ', ' '.join(meta['projects'])
+ print " builds:", get_status(obs, project)
+ show_images(meta)
+ print
+
+ # groups
+ for meta in groups:
+ print meta['name']
+ print ' submissions:', ' '.join(subm.split('/')[-1] \
+ for subm in meta['submissions'])
+ show_images(meta)
+ print
class List(object):