Author: lslezak Date: Fri Aug 15 13:39:51 2008 New Revision: 50112 URL: http://svn.opensuse.org/viewcvs/yast?rev=50112&view=rev Log: - call Pkg::ResolvablesProperties() from Pkg::PatternData() Modified: branches/tmp/lslezak/pkg-bindings/src/Selection.cc Modified: branches/tmp/lslezak/pkg-bindings/src/Selection.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/lslezak/pkg-bindings/src/Selection.cc?rev=50112&r1=50111&r2=50112&view=diff ============================================================================== --- branches/tmp/lslezak/pkg-bindings/src/Selection.cc (original) +++ branches/tmp/lslezak/pkg-bindings/src/Selection.cc Fri Aug 15 13:39:51 2008 @@ -69,6 +69,7 @@ PkgFunctions::GetSelections (const YCPSymbol& stat, const YCPString& cat) { YCPList selections; + y2warning("Pkg::GetSelections is obsoleted, selections have been replaced by patterns"); return selections; } @@ -199,41 +200,52 @@ YCPValue PkgFunctions::PatternData (const YCPString& pat) { - YCPMap data; - std::string name = pat->value(); + y2warning("Pkg::PatternData() is obsoleted, use Pkg::ResolvableProperties(name, `pattern, \"\") instead and change keys \"visible\" to \"user_visible\" and \"srcid\" to \"source\"."); + + YCPMap ret; try { - zypp::ResPool::byIdent_iterator it = zypp_ptr()->pool().byIdentBeginzypp::Pattern(name); + YCPValue value = ResolvableProperties(pat, YCPSymbol("pattern"), YCPString("")); + YCPList lst; + + if (!value.isNull() && value->isList()) + { + lst = value->asList(); + } - if ( it != zypp_ptr()->pool().byIdentEndzypp::Pattern(name) ) + if (lst->size() >= 1) { - zypp::Pattern::constPtr pattern = - zypp::dynamic_pointer_cast<const zypp::Pattern>(it->resolvable ()); + YCPValue first = lst->value(0); + + if (!first.isNull() && first->isMap()) + { + ret = first->asMap(); + } - // pattern found - data->add (YCPString ("summary"), YCPString (pattern->summary())); - data->add (YCPString ("category"), YCPString (pattern->category())); - data->add (YCPString ("visible"), YCPBoolean (pattern->userVisible())); - data->add (YCPString ("order"), YCPString (pattern->order())); - data->add (YCPString ("description"), YCPString (pattern->description())); - data->add (YCPString ("default"), YCPBoolean (pattern->isDefault())); - data->add (YCPString ("icon"), YCPString (pattern->icon().asString())); - data->add (YCPString ("script"), YCPString (pattern->script().asString())); - data->add (YCPString ("version"), YCPString((*it)->edition().asString())); - data->add (YCPString ("arch"), YCPString((*it)->arch().asString())); - data->add (YCPString ("srcid"), YCPInteger(logFindAlias((*it)->repoInfo().alias()))); + if (!ret.isNull()) + { + YCPValue val = ret->value(YCPString("source")); + ret->add(YCPString("srcid"), val); + + val = ret->value(YCPString("user_visible")); + ret->add(YCPString("visible"), val); + } + else + { + return YCPError ("Pattern '" + pat->value() + "' not found", ret); + } } else { - return YCPError ("Pattern '" + name + "' not found", data); + return YCPError ("Pattern '" + pat->value() + "' not found", ret); } } catch (...) { } - return data; + return ret; } @@ -320,6 +332,7 @@ YCPBoolean PkgFunctions::SetSelection (const YCPString& selection) { + y2warning("Pkg::SetSelection is obsoleted, selections have been replaced by patterns"); return YCPBoolean(false); } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org