Author: jkupec
Date: Mon Mar 10 13:36:34 2008
New Revision: 9077
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9077&view=rev
Log:
- show download rate for http/ftp downloads (bnc #227903)
Modified:
trunk/zypper/src/output/Out.h
trunk/zypper/src/output/OutNormal.cc
trunk/zypper/src/output/OutNormal.h
trunk/zypper/src/output/OutXML.cc
trunk/zypper/src/output/OutXML.h
trunk/zypper/src/zypper-media-callbacks.h
Modified: trunk/zypper/src/output/Out.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/output/Out.h?rev=9077&r1=9076&r2=9077&view=diff
==============================================================================
--- trunk/zypper/src/output/Out.h (original)
+++ trunk/zypper/src/output/Out.h Mon Mar 10 13:36:34 2008
@@ -190,20 +190,20 @@
*
* \param uri Uri of the file being downloaded.
* \param value Value of the progress in percents. -1 if unknown.
- * \param rate Download rate. -1 if unknown.
+ * \param rate Current download rate in B/s. -1 if unknown.
*/
virtual void dwnldProgress(const zypp::Url & uri,
int value = -1,
- int rate = -1) = 0;
+ long rate = -1) = 0;
/**
* Reports end of a download.
*
* \param uri Uri of the file to download.
- * \param rate Final download rate. -1 if unknown.
+ * \param rate Average download rate at the end. -1 if unknown.
* \param error Error flag - did the download finish with error?
*/
virtual void dwnldProgressEnd(const zypp::Url & uri,
- int rate = -1,
+ long rate = -1,
bool error = false) = 0;
//@}
Modified: trunk/zypper/src/output/OutNormal.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/output/OutNormal.cc?rev=9077&r1=9076&r2=9077&view=diff
==============================================================================
--- trunk/zypper/src/output/OutNormal.cc (original)
+++ trunk/zypper/src/output/OutNormal.cc Mon Mar 10 13:36:34 2008
@@ -2,6 +2,7 @@
#include <sstream>
#include "zypp/Pathname.h"
+#include "zypp/ByteCount.h" // for download progress reporting
#include "../zypper-main.h"
#include "../AliveCursor.h"
@@ -150,7 +151,7 @@
void OutNormal::dwnldProgress(const zypp::Url & uri,
int value,
- int rate)
+ long rate)
{
if (verbosity() < NORMAL)
return;
@@ -162,12 +163,20 @@
else
cout << zypp::Pathname(uri.getPathName()).basename();
// dont display percents if invalid
- if (value >= 0 && value <= 100)
- cout << " [" << value << "%]";
+ if ((value >= 0 && value <= 100) || rate >= 0)
+ {
+ cout << " [";
+ if (value >= 0 && value <= 100)
+ cout << value << "%";
+ if (rate >= 0)
+ cout << " (" << zypp::ByteCount(rate) << "/s)";
+ cout << "]";
+ }
+
cout << std::flush;
}
-void OutNormal::dwnldProgressEnd(const zypp::Url & uri, int rate, bool error)
+void OutNormal::dwnldProgressEnd(const zypp::Url & uri, long rate, bool error)
{
if (verbosity() < NORMAL)
return;
@@ -178,7 +187,10 @@
cout << uri; //! \todo shorten to fit the width of the terminal
else
cout << zypp::Pathname(uri.getPathName()).basename();
- cout << " [" << (error ? _("error") : _("done")) << "]";
+ cout << " [" << (error ? _("error") : _("done"));
+ if (rate >= 0)
+ cout << " (" << zypp::ByteCount(rate) << "/s)";
+ cout << "]";
cout << endl << std::flush;
}
Modified: trunk/zypper/src/output/OutNormal.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/output/OutNormal.h?rev=9077&r1=9076&r2=9077&view=diff
==============================================================================
--- trunk/zypper/src/output/OutNormal.h (original)
+++ trunk/zypper/src/output/OutNormal.h Mon Mar 10 13:36:34 2008
@@ -48,9 +48,9 @@
virtual void dwnldProgressStart(const zypp::Url & uri);
virtual void dwnldProgress(const zypp::Url & uri,
int value = -1,
- int rate = -1);
+ long rate = -1);
virtual void dwnldProgressEnd(const zypp::Url & uri,
- int rate = -1,
+ long rate = -1,
bool error = false);
virtual void prompt(PromptId id,
Modified: trunk/zypper/src/output/OutXML.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/output/OutXML.cc?rev=9077&r1=9076&r2=9077&view=diff
==============================================================================
--- trunk/zypper/src/output/OutXML.cc (original)
+++ trunk/zypper/src/output/OutXML.cc Mon Mar 10 13:36:34 2008
@@ -168,7 +168,7 @@
void OutXML::dwnldProgress(const zypp::Url & uri,
int value,
- int rate)
+ long rate)
{
cout << "