.\"
.\" The "list" command description
.\"
-.SS \fBlist\fR [\-\-help] [\-\-processes <processes>] [\-\-showurls] [\-\-ignore <regexp>]
+.SS \fBlist\fR [\-\-help] [\-\-processes <processes>] [\-\-showurls] [\-\-ignore <regexp>] [\-\-base <project>]
.RS 2
List submissions in the following format:
Note, that this parameter can also be specified in \fIrepa\fR configuration file.
.RE
+.PP
+.B \-\-base <project>
+.RS 2
+Show status of the submission in the base project.
+Note, that this parameter can also be specified in \fIrepa\fR configuration file.
+.RE
+
.PP
.\"
.\" The "info" command description
project = Tizen:IVI
.RE
.RS 2
+base = Tizen:Common
+.RE
+.RS 2
color = off
.RE
.RS 2
.RE
.RS 2
-Some options (project, processes, colorize, showurls, ignore, noaggregate) can be overridden by commandline options (--project, --processes, --colorize, --showurls, --ignore, --noaggregate)
+Some options (project, processes, colorize, showurls, ignore, noaggregate, base) can be overridden by commandline options (--project, --processes, --colorize, --showurls, --ignore, --noaggregate, --base)
.RE
.SH BUGS
"""Get list of prerelease projects for specified target project."""
return obs.get_project_list('^%s%s:' % (OBS_PROJECT_PREFIX, target_prj))
-def prerelease_exists(obs, name, target):
- """Check if prerelease project exists."""
+def get_prerelease(name, target):
+ """Get name of prerelease project."""
if name.startswith('submitgroup/'):
name += '-group'
- project = '%s%s:%s' % (OBS_PROJECT_PREFIX, target, name.replace('/', ':'))
- return obs.exists(project)
+ return '%s%s:%s' % (OBS_PROJECT_PREFIX, target, name.replace('/', ':'))
def get_project_by_name(obs, name, target):
"""Lookup for a project in OBS by submission or group name."""
import re
from repa.common import (OBS_PROJECT_PREFIX, Colorizer,
- get_download_url, get_obs_url)
+ get_download_url, get_obs_url, get_prerelease)
from repa.obs import OBS
from repa.main import sub_main
print ' obs url: ', obs_url
print
+def tag_accepted(obs, project, package, tag):
+ """Check if tag is in comments of accepted SRs."""
+ for sreq in obs.get_srs(project, 'accepted', str(package)):
+ descr = sreq[-1]
+ if descr and 'Tag:' in descr:
+ if tag == descr.split('Tag: ')[-1].split()[0]:
+ return True
+ return False
-def list_submissions(obs, target, processes, is_colorize=False,
+def list_submissions(obs, target, processes, base, is_colorize=False,
showurls=False, ignore=''):
"""List submissions and groups."""
colorizer = Colorizer(is_colorize)
groups.append(meta)
continue
projects = [project.split('/')[-1] for project in meta['projects']]
- print '%-37s %-37s %s' % (meta['git_tag'], \
- get_status(meta, colorizer, build_results, ignore),
- ','.join(projects))
+ if base:
+ tag = str(meta['git_tag'])
+ base_status = colorizer.white('')
+ prerelease = get_prerelease(tag, base)
+ if obs.exists(prerelease):
+ base_meta = json.loads(obs.get_descr(prerelease))
+ base_build_results = obs.get_build_results(prerelease)
+ base_status = get_status(base_meta, colorizer,
+ base_build_results, ignore)
+ else:
+ if tag_accepted(obs, base, projects[0], tag):
+ base_status = colorizer.green('accepted')
+ print '%-37s %-37s %-37s %s' % (meta['git_tag'], \
+ get_status(meta, colorizer, build_results, ignore),
+ base_status, ','.join(projects))
+ else:
+ print '%-37s %-37s %s' % (meta['git_tag'], \
+ get_status(meta, colorizer, build_results, ignore),
+ ','.join(projects))
if showurls:
show_urls(meta)
default=config.get('showurls', '').lower() == 'on')
parser.add_argument('--ignore', default=config.get('ignore', ''),
help='ignore package failures by regexp')
+ parser.add_argument('--base', default=config.get('base', ''),
+ help='Show submission status in base project')
@staticmethod
def run(argv):
"""Command line entry point. Called from [sub_]main"""
obs = OBS(argv.apiurl, argv.apiuser, argv.apipasswd)
- return list_submissions(obs, argv.project, argv.processes,
+ return list_submissions(obs, argv.project, argv.processes, argv.base,
argv.colorize, argv.showurls, argv.ignore)