Changeset f01ced8c in tol


Ignore:
Timestamp:
Dec 27, 2010, 6:10:01 PM (16 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
0db02f4
Parents:
239a237
Message:

Refs #981
New method GetMinTolVersionForPackage
Enhanced error message when a package is not found

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@2957 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/stdlib/general/TolPackage/client.tol

    r239a237 rf01ced8c  
    181181  Real OSDirMake(_.localRoot)
    182182};
     183
     184//////////////////////////////////////////////////////////////////////////////
     185Text _.autodoc.member.GetMinTolVersionForPackage =
     186"Devuelve la versión de TOL mínima que requiere un paquete dado"
     187"Si no se encuentra el paquete se devuelve la cadena vacía.";
     188Text GetMinTolVersionForPackage(Text package)
     189//////////////////////////////////////////////////////////////////////////////
     190{
     191//WriteLn("TRACE [RemoteFindRepository] 1 package='"<<package+"'");
     192  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, "", {
     193//WriteLn("TRACE [RemoteFindRepository] 2");
     194  Set repositories =
     195    TolConfigManager::Config::Upgrading::TolPackage::Repositories;
     196  Real K = Card(repositories);
     197  Real k = 1;
     198  Text found = "";
     199//WriteLn("TRACE [RemoteFindRepository] 3 K="<<K);
     200  While(And(found=="", k<=K),
     201  {
     202  //WriteLn("TRACE [RemoteFindRepository] 4 repositories["<<k+"]="<<repositories[k]);
     203    Text pkgInfo = GetUrlContents(repositories[k]+"?"
     204      "action=versions&limit=1&"+
     205      "package="+package);
     206    Set pkgLst = IncludeText(pkgInfo);
     207  //WriteLn("TRACE [RemoteFindRepository] 5 pkgInfo="<<pkgInfo);
     208  //WriteLn("TRACE [RemoteFindRepository] 6 pkgLst="<<pkgLst);
     209  //WriteLn("TRACE [RemoteFindRepository] 7 Card(pkgLst)="<<Card(pkgLst));
     210    Text If(Card(pkgLst)>0, found := pkgLst[1]->te_min_tol_version);
     211    Real k := k+1
     212  });
     213  found
     214})};
    183215
    184216//////////////////////////////////////////////////////////////////////////////
    … …  
    359391    If(rep=="",
    360392    {
    361       If(showError,Error(I2(
    362        "Cannot find package "+package+" in any repository",
    363        "No se encuentra el paquete "+package+" en ningún repositorio")))
     393      If(showError,
     394      {
     395        Text minTolVersion = GetMinTolVersionForPackage(package);
     396        If(minTolVersion=="",
     397        Error(I2(
     398          "Cannot find package "+package+" in any repository for any TOL "
     399          "version."
     400          "No se encuentra el paquete "+package+" en ningún repositorio "
     401          "para ninguna versión de TOL.")),
     402        Error(I2(
     403          "Cannot find package "+package+" in any repository for current "
     404          "TOL version ",
     405          "No se encuentra el paquete "+package+" en ningún repositorio "
     406          "para la versión de TOL en curso ")+TolPackage::_.currentTolVersion+
     407          ".\n"+I2("You needs to use ", "Es necesario usar ")+minTolVersion))
     408      })
    364409    },
    365410    {
    … …  
    575620
    576621
     622
Note: See TracChangeset for help on using the changeset viewer.