Author: jkupec
Date: Thu Apr 17 12:05:36 2008
New Revision: 9676
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9676&view=rev
Log:
- 'products' command added (fate #302148)
Modified:
trunk/zypper/src/zypper-search.cc
trunk/zypper/src/zypper-search.h
trunk/zypper/src/zypper.cc
Modified: trunk/zypper/src/zypper-search.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-search.cc?rev=9676&r1=9675&r2=9676&view=diff
==============================================================================
--- trunk/zypper/src/zypper-search.cc (original)
+++ trunk/zypper/src/zypper-search.cc Thu Apr 17 12:05:36 2008
@@ -4,6 +4,7 @@
#include "zypp/base/Algorithm.h"
#include "zypp/Patch.h"
#include "zypp/Pattern.h"
+#include "zypp/Product.h"
#include "zypp/ResPoolProxy.h"
@@ -133,7 +134,7 @@
void list_packages(Zypper & zypper)
{
- MIL << "Going to list patterns." << std::endl;
+ MIL << "Going to list packages." << std::endl;
Table tbl;
TableHeader th;
@@ -201,6 +202,49 @@
cout << tbl;
}
+void list_products(Zypper & zypper)
+{
+ MIL << "Going to list packages." << std::endl;
+
+ Table tbl;
+ TableHeader th;
+
+ // translators: S for installed Status
+ th << _("S");
+ th << _("Name");
+ th << _("Version");
+ if (zypper.globalOpts().is_rug_compatible)
+ // translators: product category (the rug term)
+ th << _("Category");
+ else
+ // translators: product type (addon/base) (rug calls it Category)
+ th << _("Type");
+ tbl << th;
+
+ bool installed_only = zypper.cOpts().count("installed-only");
+ bool notinst_only = zypper.cOpts().count("uninstalled-only");
+
+ ResPool::byKind_iterator
+ it = God->pool().byKindBegin(ResKind::product),
+ e = God->pool().byKindEnd(ResKind::product);
+ for (; it != e; ++it )
+ {
+ Product::constPtr product = asKind<Product>(it->resolvable());
+
+ TableRow tr;
+ tr << (it->isSatisfied() ? "i" : "");
+ tr << product->name () << product->edition().asString();
+ tr << product->type();
+ tbl << tr;
+ }
+ tbl.sort(1); // Name
+
+ if (tbl.empty())
+ zypper.out().info(_("No products found."));
+ else
+ // display the result, even if --quiet specified
+ cout << tbl;
+}
// Local Variables:
// c-basic-offset: 2
Modified: trunk/zypper/src/zypper-search.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-search.h?rev=9676&r1=9675&r2=9676&view=diff
==============================================================================
--- trunk/zypper/src/zypper-search.h (original)
+++ trunk/zypper/src/zypper-search.h Thu Apr 17 12:05:36 2008
@@ -167,4 +167,7 @@
* - currently looks like zypper search -t package -r foorepo */
void list_packages(Zypper & zypper);
+/** List all products with specific info in specified repos */
+void list_products(Zypper & zypper);
+
#endif /*ZYPPERSEARCH_H_*/
Modified: trunk/zypper/src/zypper.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper.cc?rev=9676&r1=9675&r2=9676&view=diff
==============================================================================
--- trunk/zypper/src/zypper.cc (original)
+++ trunk/zypper/src/zypper.cc Thu Apr 17 12:05:36 2008
@@ -1325,7 +1325,33 @@
_command_help = _(
"patterns (pt) [options] [repository] ...\n"
"\n"
- "List all patterns available in specified repositories..\n"
+ "List all patterns available in specified repositories.\n"
+ "\n"
+ " Command options:\n"
+ "\n"
+ "-r, --repo