Author: lslezak Date: Wed Aug 20 11:51:16 2008 New Revision: 50228 URL: http://svn.opensuse.org/viewcvs/yast?rev=50228&view=rev Log: - return replaced products - "replaces" key in Product properties (Pkg::ResolvableProperties()) (fate#301997) Modified: trunk/pkg-bindings/package/yast2-pkg-bindings.changes trunk/pkg-bindings/src/Resolvable_Properties.cc Modified: trunk/pkg-bindings/package/yast2-pkg-bindings.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/package/yast2-pkg-bindings.changes?rev=50228&r1=50227&r2=50228&view=diff ============================================================================== --- trunk/pkg-bindings/package/yast2-pkg-bindings.changes (original) +++ trunk/pkg-bindings/package/yast2-pkg-bindings.changes Wed Aug 20 11:51:16 2008 @@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Wed Aug 20 11:49:48 CEST 2008 - lslezak@suse.cz + +- use zypp::ui::Selectable object instead of direct access to the + resolvable pool (bnc#413150) +- return replaced products - "replaces" key in Product properties + (Pkg::ResolvableProperties()) (fate#301997) + +------------------------------------------------------------------- Tue Aug 12 15:52:02 CEST 2008 - lslezak@suse.cz - Fixed pattern status returned by Pkg::ResolvableProperties() Modified: trunk/pkg-bindings/src/Resolvable_Properties.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/src/Resolvable_Properties.cc?rev=50228&r1=50227&r2=50228&view=diff ============================================================================== --- trunk/pkg-bindings/src/Resolvable_Properties.cc (original) +++ trunk/pkg-bindings/src/Resolvable_Properties.cc Wed Aug 20 11:51:16 2008 @@ -277,8 +277,6 @@ info->add(YCPString("short_name"), YCPString(product_summary)); } - info->add(YCPString("type"), YCPString(product->type())); - YCPList updateUrls; std::listzypp::Url pupdateUrls = product->updateUrls(); for (std::listzypp::Url::const_iterator it = pupdateUrls.begin(); it != pupdateUrls.end(); ++it) @@ -317,6 +315,48 @@ } info->add(YCPString("optional_urls"), optionalUrls); } + + // get the installed Products it would replace. + zypp::Product::ReplacedProducts replaced(product->replacedProducts()); + + if (!replaced.empty()) + { + YCPList rep_prods; + + // add the products to the list + for_( it, replaced.begin(), replaced.end() ) + { + // The current replaced Product. + zypp::Product::constPtr replacedProduct(*it); + + if (!replacedProduct) continue; + + YCPMap rprod; + rprod->add(YCPString("name"), YCPString(replacedProduct->name())); + rprod->add(YCPString("version"), YCPString(replacedProduct->edition().asString())); + rprod->add(YCPString("arch"), YCPString(replacedProduct->arch().asString())); + rprod->add(YCPString("description"), YCPString(replacedProduct->description())); + + std::string product_summary = replacedProduct->summary(); + if (product_summary.size() > 0) + { + rprod->add(YCPString("display_name"), YCPString(product_summary)); + } + + std::string product_shortname = replacedProduct->shortName(); + if (product_shortname.size() > 0) + { + rprod->add(YCPString("short_name"), YCPString(product_shortname)); + } + // use summary for the short name if it's defined + else if (product_summary.size() > 0) + { + rprod->add(YCPString("short_name"), YCPString(product_summary)); + } + } + + info->add(YCPString("replaces"), rep_prods); + } } // pattern specific info else if ( req_kind == "pattern" ) { -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org