1
0
mirror of https://github.com/openSUSE/osc.git synced 2025-01-14 09:36:21 +01:00

unify log/rlog , prjresults/rprjresults, results/rresults (r-versions are obsoleted now)

This commit is contained in:
Pavol Rusnak 2009-05-25 11:33:04 +00:00
parent 17cec67b98
commit 81b8de831c

View File

@ -1782,23 +1782,13 @@ Please submit there instead, or use --nodevelproject to force direct submission.
@cmdln.hide(1) @cmdln.hide(1)
def do_results_meta(self, subcmd, opts, *args): def do_results_meta(self, subcmd, opts, *args):
"""${cmd_name}: Shows raw build results of a package print "Command results_meta is obsolete. Please use: osc results --xml"
Shows the build results of the package in raw XML.
ARG, if specified, is the working copy of a package.
${cmd_usage}
${cmd_option_list}
"""
print """results_meta is obsolete !
Please use either
osc results --xml for checked out packages or projects
or
osc rresults --xml for server side operations."""
sys.exit(1) sys.exit(1)
@cmdln.hide(1)
def do_rresults(self, subcmd, opts, *args):
print "Command rresults is obsolete. Please use 'osc results'"
sys.exit(1)
@cmdln.alias('r') @cmdln.alias('r')
@cmdln.option('-l', '--last-build', action='store_true', @cmdln.option('-l', '--last-build', action='store_true',
@ -1812,49 +1802,27 @@ Please submit there instead, or use --nodevelproject to force direct submission.
def do_results(self, subcmd, opts, *args): def do_results(self, subcmd, opts, *args):
"""${cmd_name}: Shows the build results of a package """${cmd_name}: Shows the build results of a package
ARG, if specified, is the working copy of a package.
${cmd_usage}
${cmd_option_list}
"""
args = parseargs(args)
pacs = findpacs(args)
if not opts.xml:
func = get_results
delim = '\n'
else:
func = show_results_meta
delim = ''
for pac in pacs:
print delim.join(func(pac.apiurl, pac.prjname, pac.name, opts.last_build, opts.repo, opts.arch))
@cmdln.option('-l', '--last-build', action='store_true',
help='show last build results (succeeded/failed/unknown)')
@cmdln.option('-r', '--repo', action='append', default = [],
help='Show results only for specified repo(s)')
@cmdln.option('-a', '--arch', action='append', default = [],
help='Show results only for specified architecture(s)')
@cmdln.option('', '--xml', action='store_true',
help='generate output in XML (former results_meta)')
def do_rresults(self, subcmd, opts, *args):
"""${cmd_name}: Shows the build results of a remote package
Usage: Usage:
osc rresults [ remote_project remote_package ] osc results (inside working copy)
osc results remote_project remote_package
${cmd_option_list} ${cmd_option_list}
""" """
args = slash_split(args) args = slash_split(args)
if len(args) == 0: if len(args) == 0:
args = ( store_read_project('.'), store_read_package('.') ) wd = os.curdir
project = store_read_project(wd)
package = store_read_package(wd)
apiurl = store_read_apiurl(wd)
elif len(args) < 2: elif len(args) < 2:
raise oscerr.WrongArgs('Too few arguments.') raise oscerr.WrongArgs('Too few arguments (required none or two)')
elif len(args) > 2: elif len(args) > 2:
raise oscerr.WrongArgs('Too many arguments.') raise oscerr.WrongArgs('Too many arguments (required none or two)')
else:
apiurl = conf.config['apiurl']
project = args[0]
package = args[1]
if not opts.xml: if not opts.xml:
func = get_results func = get_results
@ -1864,8 +1832,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
delim = '' delim = ''
apiurl = conf.config['apiurl'] apiurl = conf.config['apiurl']
print delim.join(func(apiurl, args[0], args[1], opts.last_build, opts.repo, opts.arch)) print delim.join(func(apiurl, project, package, opts.last_build, opts.repo, opts.arch))
@cmdln.option('-q', '--hide-legend', action='store_true', @cmdln.option('-q', '--hide-legend', action='store_true',
help='hide the legend') help='hide the legend')
@ -1877,39 +1844,26 @@ Please submit there instead, or use --nodevelproject to force direct submission.
help='show only packages whose names match EXPR') help='show only packages whose names match EXPR')
@cmdln.option('-p', '--project', metavar='PROJECT', @cmdln.option('-p', '--project', metavar='PROJECT',
help='show packages in project PROJECT') help='show packages in project PROJECT')
@cmdln.alias('pr') @cmdln.alias('pr')
def do_prjresults(self, subcmd, opts, *args): def do_prjresults(self, subcmd, opts, *args):
"""${cmd_name}: Shows project-wide build results """${cmd_name}: Shows project-wide build results
Examples: Usage:
osc prjresults (inside working copy)
osc prjresults project
1. osc prjresults <dir>
dir is a project or package directory
2. osc prjresults
the project is guessed from the current dir
3. osc prjresults --project=<project>
the project is specified from the command line
${cmd_usage}
${cmd_option_list} ${cmd_option_list}
""" """
if args and len(args) > 1: if args:
print >>sys.stderr, 'getting results for more than one project is not supported'
return 2
if opts.project:
project = opts.project
apiurl = conf.config['apiurl'] apiurl = conf.config['apiurl']
else: if len(args) == 1:
if args: project = args[0]
wd = args[0]
else: else:
wd = os.curdir print >>sys.stderr, 'getting results for more than one project is not supported'
return 2
else:
wd = os.curdir
project = store_read_project(wd) project = store_read_project(wd)
apiurl = store_read_apiurl(wd) apiurl = store_read_apiurl(wd)
@ -1925,21 +1879,10 @@ Please submit there instead, or use --nodevelproject to force direct submission.
@cmdln.option('-n', '--name-filter', metavar='EXPR', @cmdln.option('-n', '--name-filter', metavar='EXPR',
help='show only packages whose names match EXPR') help='show only packages whose names match EXPR')
def do_rprjresults(self, subcmd, opts, prj): @cmdln.hide(1)
"""${cmd_name}: Shows project-wide build results of remote Projects def do_rprjresults(self, subcmd, opts, *args):
print "Command rprjresults is obsolete. Please use 'osc prjresults'"
Examples: sys.exit(1)
osc rprjresults <remote project name>
${cmd_usage}
${cmd_option_list}
"""
apiurl = conf.config['apiurl']
print '\n'.join(get_prj_results(apiurl, prj, hide_legend=opts.hide_legend, csv=opts.csv, status_filter=opts.status_filter, name_filter=opts.name_filter))
@cmdln.alias('bl') @cmdln.alias('bl')
@cmdln.option('-s', '--start', metavar='START', @cmdln.option('-s', '--start', metavar='START',
@ -2296,6 +2239,10 @@ Please submit there instead, or use --nodevelproject to force direct submission.
print_jobhistory(apiurl, project, package, platform, arch, format) print_jobhistory(apiurl, project, package, platform, arch, format)
@cmdln.hide(1)
def do_rlog(self, subcmd, opts, *args):
print "Command rlog is obsolete. Please use 'osc log'"
sys.exit(1)
@cmdln.option('-r', '--revision', metavar='rev', @cmdln.option('-r', '--revision', metavar='rev',
help='show log of the specified revision') help='show log of the specified revision')
@ -2303,17 +2250,31 @@ Please submit there instead, or use --nodevelproject to force direct submission.
help='generate output in CSV (separated by |)') help='generate output in CSV (separated by |)')
@cmdln.option('', '--xml', action='store_true', @cmdln.option('', '--xml', action='store_true',
help='generate output in XML') help='generate output in XML')
def do_log(self, subcmd, opts): def do_log(self, subcmd, opts, *args):
"""${cmd_name}: Shows the commit log of a package """${cmd_name}: Shows the commit log of a package
${cmd_usage} Usage:
osc log (inside working copy)
osc log remote_project remote_package
${cmd_option_list} ${cmd_option_list}
""" """
wd = os.curdir args = slash_split(args)
package = store_read_package(wd) if len(args) == 0:
project = store_read_project(wd) wd = os.curdir
apiurl = store_read_apiurl(wd) project = store_read_project(wd)
package = store_read_package(wd)
apiurl = store_read_apiurl(wd)
elif len(args) < 2:
raise oscerr.WrongArgs('Too few arguments (required none or two)')
elif len(args) > 2:
raise oscerr.WrongArgs('Too many arguments (required none or two)')
else:
apiurl = conf.config['apiurl']
project = args[0]
package = args[1]
rev, dummy = parseRevisionOption(opts.revision) rev, dummy = parseRevisionOption(opts.revision)
if rev and not checkRevision(project, package, rev, apiurl): if rev and not checkRevision(project, package, rev, apiurl):
print >>sys.stderr, 'Revision \'%s\' does not exist' % rev print >>sys.stderr, 'Revision \'%s\' does not exist' % rev
@ -2327,45 +2288,6 @@ Please submit there instead, or use --nodevelproject to force direct submission.
print '\n'.join(get_commitlog(apiurl, project, package, rev, format)) print '\n'.join(get_commitlog(apiurl, project, package, rev, format))
@cmdln.option('-r', '--revision', metavar='rev',
help='show log of the specified revision')
@cmdln.option('', '--csv', action='store_true',
help='generate output in CSV (separated by |)')
@cmdln.option('', '--xml', action='store_true',
help='generate output in XML')
def do_rlog(self, subcmd, opts, *args):
"""${cmd_name}: Shows the commit log of a remote package
Usage:
osc rlog [ remote_project remote_package ]
${cmd_option_list}
"""
args = slash_split(args)
if len(args) == 0:
args = ( store_read_project('.'), store_read_package('.') )
elif len(args) < 2:
raise oscerr.WrongArgs('Too few arguments.')
elif len(args) > 2:
raise oscerr.WrongArgs('Too many arguments.')
apiurl = conf.config['apiurl']
rev, dummy = parseRevisionOption(opts.revision)
if rev and not checkRevision(args[0], args[1], rev, apiurl):
print >>sys.stderr, 'Revision \'%s\' does not exist' % rev
sys.exit(1)
format = 'text'
if opts.csv:
format = 'csv'
if opts.xml:
format = 'xml'
print '\n'.join(get_commitlog(apiurl, args[0], args[1], rev, format))
@cmdln.option('-f', '--failed', action='store_true', @cmdln.option('-f', '--failed', action='store_true',
help='rebuild all failed packages') help='rebuild all failed packages')
def do_rebuildpac(self, subcmd, opts, *args): def do_rebuildpac(self, subcmd, opts, *args):