From d55738061334261cbcc9ee1e8ede0d4b0d769d9a Mon Sep 17 00:00:00 2001 From: Faik Uygur Date: Sat, 4 Nov 2006 21:27:38 +0000 Subject: [PATCH] * -c [--component] option for info command. Can be used with multiple -c as in: pisi info -c desktop.kde -c system.base amarok openoffice --- pisi/cli/commands.py | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index cb79960b..003bc7e1 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -801,6 +801,8 @@ Usage: info ... group.add_option("-f", "--files", action="store_true", default=False, help=_("Show a list of package files.")) + group.add_option("-c", "--component", action="append", + default=None, help=_("Info about the given component")) group.add_option("-F", "--files-path", action="store_true", default=False, help=_("Show only paths.")) @@ -813,28 +815,34 @@ Usage: info ... self.init(database = True, write = False) - if len(self.args) == 0: + components = ctx.get_option('component') + if not components and not self.args: self.help() return index = pisi.index.Index() index.distribution = None - for arg in self.args: - if ctx.componentdb.has_component(arg): - component = ctx.componentdb.get_union_comp(arg) - if self.options.xml: - index.add_component(component) - else: - if not self.options.short: - ctx.ui.info(unicode(component)) + # info of components + if components: + for name in components: + if ctx.componentdb.has_component(name): + component = ctx.componentdb.get_union_comp(name) + if self.options.xml: + index.add_component(component) else: - ctx.ui.info("%s - %s" % (component.name, component.summary)) - else: # then assume it was a package - if self.options.xml: - index.packages.append(pisi.api.info(arg)[0].package) - else: - self.info_package(arg) + if not self.options.short: + ctx.ui.info(unicode(component)) + else: + ctx.ui.info("%s - %s" % (component.name, component.summary)) + + # info of packages + for arg in self.args: + if self.options.xml: + index.packages.append(pisi.api.info(arg)[0].package) + else: + self.info_package(arg) + if self.options.xml: errs = [] index.newDocument() @@ -1462,6 +1470,7 @@ in summary, description, and package name fields. super(Search, self).add_options(group) group.add_option("-L", "--language", action="store", help=_("Set search language")) + group.remove_option("--component") group.remove_option("--short") group.remove_option("--xml") group.add_option("-l", "--long", action="store_true",