diff --git a/osc/commandline.py b/osc/commandline.py index a90ea769..f1da6244 100755 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -1549,6 +1549,8 @@ class Osc(cmdln.Cmdln): print wipebinaries(conf.config['apiurl'], args[0], package, opts.arch, opts.repo, opts.build_disabled) + @cmdln.option('--repos-baseurl', action='store_true', + help='show base URLs of download repositories') @cmdln.option('-e', '--enable-exact', action='store_true', help='show only exact matches') @cmdln.option('--package', action='store_true', @@ -1598,7 +1600,7 @@ class Osc(cmdln.Cmdln): if not search_for: search_for = [ 'project', 'package' ] for kind in search_for: - result = search(conf.config['apiurl'], set(search_list), kind, args[0], opts.verbose, opts.enable_exact) + result = search(conf.config['apiurl'], set(search_list), kind, args[0], opts.verbose, opts.enable_exact, opts.repos_baseurl) if result: if kind == 'package': headline = [ '# Package', '# Project' ] @@ -1606,6 +1608,8 @@ class Osc(cmdln.Cmdln): headline = [ '# Project' ] if opts.verbose: headline.append('# Title') + if opts.repos_baseurl: + headline.append('# URL') if len(search_for) > 1: print '#' * 68 print 'matches for \'%s\' in %ss:\n' % (args[0], kind) diff --git a/osc/core.py b/osc/core.py index 01f5f293..e55df4dc 100755 --- a/osc/core.py +++ b/osc/core.py @@ -1872,7 +1872,7 @@ def build_table(col_num, data = [], headline = [], width=1): table.append(''.join(row)) return table -def search(apiurl, search_list, kind, search_term, verbose = False, exact_matches = False): +def search(apiurl, search_list, kind, search_term, verbose = False, exact_matches = False, repos_baseurl = False): """ Perform a search for 'search_term'. A list which contains the results will be returned on success otherwise 'None'. If 'verbose' is true @@ -1900,6 +1900,8 @@ def search(apiurl, search_list, kind, search_term, verbose = False, exact_matche if len(title) > 60: title = title[:61] + '...' result.append(title) + if repos_baseurl: + result.append('http://download.opensuse.org/repositories/%s/' % project.replace(':', ':/')) if result: return result else: