Author: lslezak
Date: Mon Jul 23 17:13:40 2007
New Revision: 39609
URL: http://svn.opensuse.org/viewcvs/yast?rev=39609&view=rev
Log:
- fixed RepositoryAdd()
- 2.15.32
Modified:
trunk/pkg-bindings/VERSION
trunk/pkg-bindings/package/yast2-pkg-bindings.changes
trunk/pkg-bindings/src/PkgModuleFunctions.h
trunk/pkg-bindings/src/Source.cc
Modified: trunk/pkg-bindings/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/VERSION?rev=39609&r1=39608&r2=39609&view=diff
==============================================================================
--- trunk/pkg-bindings/VERSION (original)
+++ trunk/pkg-bindings/VERSION Mon Jul 23 17:13:40 2007
@@ -1 +1 @@
-2.15.31
+2.15.32
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=39609&r1=39608&r2=39609&view=diff
==============================================================================
--- trunk/pkg-bindings/package/yast2-pkg-bindings.changes (original)
+++ trunk/pkg-bindings/package/yast2-pkg-bindings.changes Mon Jul 23 17:13:40 2007
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon Jul 23 17:11:28 CEST 2007 - lslezak@suse.cz
+
+- added RepositoryAdd(), RepositoryScan() and RepositoryProbe()
+- 2.15.32
+
+-------------------------------------------------------------------
Wed Jul 18 16:11:08 CEST 2007 - lslezak@suse.cz
- SourceLoad(), SourceRefreshNow() - rebuild cache after
Modified: trunk/pkg-bindings/src/PkgModuleFunctions.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/src/PkgModuleFunctions.h?rev=39609&r1=39608&r2=39609&view=diff
==============================================================================
--- trunk/pkg-bindings/src/PkgModuleFunctions.h (original)
+++ trunk/pkg-bindings/src/PkgModuleFunctions.h Mon Jul 23 17:13:40 2007
@@ -475,7 +475,7 @@
YCPValue RepositoryProbe(const YCPString& url);
/* TYPEINFO: list(string)*/
YCPValue RepositoryScan(const YCPString& url);
- /* TYPEINFO: integer(map)*/
+ /* TYPEINFO: integer(map)*/
YCPValue RepositoryAdd(const YCPMap ¶ms);
// target related
Modified: trunk/pkg-bindings/src/Source.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/src/Source.cc?rev=39609&r1=39608&r2=39609&view=diff
==============================================================================
--- trunk/pkg-bindings/src/Source.cc (original)
+++ trunk/pkg-bindings/src/Source.cc Mon Jul 23 17:13:40 2007
@@ -1218,7 +1218,7 @@
{
// do conversion from the Yast type ("YaST", "YUM", "Plaindir")
// to libzypp type ("yast", "yum", "plaindir")
- repotype.parse(yast2zyppType(type));
+ repotype = repotype.parse(yast2zyppType(type));
}
catch (zypp::repo::RepoUnknownTypeException &e)
{
@@ -1295,7 +1295,7 @@
* @short Register a new repository
* @description
* Adds a new repository to the internal structures. The repository is only registered,
- * metadata are not downloaded, use Pkg::SourceRefreshNow() for that. The metadata are also loaded
+ * metadata is not downloaded, use Pkg::SourceRefreshNow() for that. The metadata is also loaded
* automatically when loading the repository content (Pkg::SourceLoad())
*
* @param map map with repository parameters: $[ "enabled" : boolean, "autorefresh" : boolean, "name" : string,
@@ -1308,21 +1308,22 @@
// turn on the repo by default
repo.setEnabled(true);
+ // enable autorefresh by default
repo.setAutorefresh(true);
- if (params->value( YCPString("enabled") ).isNull() || !params->value(YCPString("enabled"))->isBoolean())
+ if (!params->value( YCPString("enabled") ).isNull() && params->value(YCPString("enabled"))->isBoolean())
{
repo.setEnabled(params->value(YCPString("enabled"))->asBoolean()->value());
}
- if (params->value( YCPString("autorefresh") ).isNull() || !params->value(YCPString("autorefresh"))->isBoolean())
+ if (!params->value( YCPString("autorefresh") ).isNull() && params->value(YCPString("autorefresh"))->isBoolean())
{
repo.setAutorefresh(params->value(YCPString("autorefresh"))->asBoolean()->value());
}
std::string alias;
- if (params->value( YCPString("alias") ).isNull() || !params->value(YCPString("alias"))->isString())
+ if (!params->value( YCPString("alias") ).isNull() && params->value(YCPString("alias"))->isString())
{
alias = params->value(YCPString("alias"))->asString()->value();
}
@@ -1348,7 +1349,7 @@
// use the first base URL as a fallback name
std::string first_url;
- if (params->value( YCPString("base_urls") ).isNull() || !params->value(YCPString("base_urls"))->isList())
+ if (!params->value( YCPString("base_urls") ).isNull() && params->value(YCPString("base_urls"))->isList())
{
YCPList lst(params->value(YCPString("base_urls"))->asList());
@@ -1397,7 +1398,7 @@
}
// check name parameter
- if (params->value( YCPString("name") ).isNull() || !params->value(YCPString("name"))->isString())
+ if (!params->value( YCPString("name") ).isNull() && params->value(YCPString("name"))->isString())
{
repo.setName(params->value(YCPString("name"))->asString()->value());
}
@@ -1411,14 +1412,14 @@
}
}
- if (params->value( YCPString("type") ).isNull() || !params->value(YCPString("type"))->isString())
+ if (!params->value( YCPString("type") ).isNull() && params->value(YCPString("type"))->isString())
{
- zypp::repo::RepoType repotype;
std::string type = yast2zyppType(params->value(YCPString("type"))->asString()->value());
try
{
- repotype.parse(yast2zyppType(type));
+ zypp::repo::RepoType repotype(type);
+ repo.setType(repotype);
}
catch (zypp::repo::RepoUnknownTypeException &e)
{
@@ -1427,11 +1428,9 @@
return YCPVoid();
}
- repo.setType(repotype);
}
-
- if (params->value( YCPString("prod_dir") ).isNull() || !params->value(YCPString("prod_dir"))->isString())
+ if (!params->value( YCPString("prod_dir") ).isNull() && params->value(YCPString("prod_dir"))->isString())
{
#warning FIXME TODO: add product directory support
}
@@ -2198,6 +2197,13 @@
return success;
}
+/****************************************************************************************
+ * @builtin RepositoryProbe
+ *
+ * @short Probe type of the repository
+ * @param url specifies the path to the repository
+ * @return string repository type ("NONE" if type could be determined, nil if an error occurred (e.g. resolving the hostname)
+ **/
YCPValue PkgModuleFunctions::RepositoryProbe(const YCPString& url)
{
y2milestone("Probing repository type: '%s'...", url->value().c_str());
@@ -2218,12 +2224,19 @@
{
_last_error.setLastError(excpt.asUserString());
y2error( "Cannot detect the repository type" );
- return YCPString("");
+ return YCPVoid();
}
return YCPString(ret);
}
+/****************************************************************************************
+ * @builtin RepositoryScan
+ *
+ * @short Scan available products in the repository
+ * @param url specifies the path to the repository
+ * @return list list of the products: [ [ ], ...]
+ **/
YCPValue PkgModuleFunctions::RepositoryScan(const YCPString& url)
{
zypp::MediaProductSet products;
@@ -2271,6 +2284,7 @@
type_conversion_table["rpm-md"] = "YUM";
type_conversion_table["yast2"] = "YaST";
type_conversion_table["plaindir"] = "Plaindir";
+ type_conversion_table["NONE"] = "NONE";
}
std::mapstd::string,std::string::const_iterator it = type_conversion_table.find(type);
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org