refresh and read_repo_resolvables() output clean-up
authorJan Kupec <jkupec@suse.cz>
Fri, 6 Jul 2007 16:42:27 +0000 (16:42 +0000)
committerJan Kupec <jkupec@suse.cz>
Fri, 6 Jul 2007 16:42:27 +0000 (16:42 +0000)
src/zypper-misc.cc
src/zypper-sources.cc

index 11b9ded..6c22dda 100644 (file)
@@ -436,18 +436,21 @@ void load_repo_resolvables()
                          % repo.alias() << endl;
         manager.buildCache(repo);
       }
-
+      // TranslatorExplanation speaking of a repository
+      cout_n << format(_("Reading repository %s...")) % repo.alias() << flush;
       repository = manager.createFromCache(repo);
+
       ResStore store = repository.resolvables();
+      cout_v << " " << format(_("(%d resolvables found)")) % store.size();
+
       God->addResolvables(store);
-  
-      cout_vv << format(_("(%d resolvables found)")) % store.size() << endl;
+      cout_n << endl;
     }
     catch (const Exception & e)
     {
       ZYPP_CAUGHT(e);
       cerr << format(_("Problem loading data from '%s'")) % repo.alias();
-      cerr_v << ":" << e.msg();
+      cerr_v << ":" << endl << e.msg();
       cerr << endl;
       cerr << format(_("Resolvables from '%s' not loaded because of error."))
                       % repo.alias() << endl;
index 71b471e..7225dcd 100644 (file)
@@ -153,6 +153,8 @@ void refresh_repos()
   RepoManager manager;
   gData.repos = manager.knownRepositories();
 
+  int error_count = 0;
+  int enabled_repo_count = gData.repos.size();
   for (std::list<RepoInfo>::iterator it = gData.repos.begin();
        it !=  gData.repos.end(); ++it)
   {
@@ -163,6 +165,7 @@ void refresh_repos()
     {
       cout_v << format(_("Skipping disabled repository '%s'")) % repo.alias()
              << endl;
+      enabled_repo_count--;
       continue;
     }
 
@@ -179,7 +182,7 @@ void refresh_repos()
     catch ( const Exception &e )
     {
       cerr << format(_("Error reading repository '%s':")) % repo.alias()
-        << endl << e.msg() << endl;
+        << endl << e.asUserString() << endl;
       cerr << format(_("Skipping repository '%s' because of the above error."))
         % repo.alias() << endl;
       // log untranslated message
@@ -187,10 +190,16 @@ void refresh_repos()
         << endl << e.msg() << endl;
       ERR << format("Skipping repository '%s' because of the above error.")
         % repo.alias() << endl;
+      error_count++;
     }
   }
 
-  cout_n << _("All system sources have been refreshed.") << endl;
+  if (error_count == enabled_repo_count)
+    cerr << _("Could not refresh the repositories because of errors.") << endl;
+  else if (error_count)
+    cerr << _("Some of the repositories have not been refreshed because of error.") << endl;
+  else
+    cout_n << _("All repositories have been refreshed.") << endl;
 }
 
 // ----------------------------------------------------------------------------