[Uludag-commits] r10065 - trunk/tasma/package-manager/src

svn-uludag at uludag.org.tr svn-uludag at uludag.org.tr
1 Kas 2006 Çar 20:31:00 EET


Author: faik
Date: Wed Nov  1 20:31:00 2006
New Revision: 10065

Modified:
   trunk/tasma/package-manager/src/Progress.py
   trunk/tasma/package-manager/src/package-manager.py
Log:
* just commit these bits, will find a solution for total progress thing.



Modified: trunk/tasma/package-manager/src/Progress.py
=================================================================
--- trunk/tasma/package-manager/src/Progress.py	(original)
+++ trunk/tasma/package-manager/src/Progress.py	Wed Nov  1 20:31:00 2006
@@ -20,6 +20,9 @@
         self.totalPackages = 1
         self.packageName = ""
 
+        self.totalDownloaded = 0
+        self.curPkgDownloaded = 0
+
     def enableCancel(self):
         self.cancelButton.setEnabled(True)
 
@@ -53,6 +56,8 @@
         self.hideOperationDescription()
         self.packageNo = 1
         self.totalPackages = 1
+        self.totalDownloaded = 0
+        self.curPkgDownloaded = 0
         self.progressBar.setProgress(0)
         self.cancelButton.setEnabled(False)
 
@@ -89,7 +94,6 @@
     def updateDownloadingInfo(self, operation, file, percent, rate, symbol):
         self.packageName = pisi.util.parse_package_name(file)[0]
         self.setOperationDescription(i18n('Now %1 <b>%2</b> package').arg(operation).arg(self.packageName))
-        self.updateProgressBar(percent)
         self.setStatus(i18n('Fetching package (%1/%2) at %3 %4')
                        .arg(self.packageNo)
                        .arg(self.totalPackages)
@@ -99,9 +103,23 @@
         self.showOperationDescription()
 
     def updateUpgradingInfo(self, percent, rate, symbol):
-        self.updateProgressBar(percent)
         self.setStatus(i18n('Fetching package list at %3 %4')
                        .arg(round(int(rate), 1))
                        .arg(symbol))
         self.showStatus()
         self.showOperationDescription()
+
+    # pisi does not provide total downloaded size, just package based.
+    def updateTotalDownloaded(self, pkgDownSize, pkgTotalSize):
+        if pkgDownSize == pkgTotalSize:
+            self.totalDownloaded += int(pkgTotalSize)
+            self.curPkgDownloaded = 0
+        else:
+            self.curPkgDownloaded = int(pkgDownSize)
+
+    # pisi does not provide total operation percent, just package based.
+    def updateTotalOperationPercent(self):
+        totalDownloaded = self.totalDownloaded + self.curPkgDownloaded
+        totalSize = self.parent.basket.getBasketSize()
+        percent = (totalDownloaded * 100) / totalSize
+        self.updateProgressBar(percent)

Modified: trunk/tasma/package-manager/src/package-manager.py
=================================================================
--- trunk/tasma/package-manager/src/package-manager.py	(original)
+++ trunk/tasma/package-manager/src/package-manager.py	Wed Nov  1 20:31:00 2006
@@ -571,13 +571,19 @@
         elif operation == "fetching":
             if "pisi-index.xml" in data[1]:
                 self.progressDialog.updateUpgradingInfo(percent=data[2], rate=data[3], symbol=data[4])
+                self.progressDialog.updateProgressBar(progress=data[2])
+
             else:
-                self.progressDialog.updateDownloadingInfo(i18n("downloading"), file=data[1], percent=data[2], rate=data[3], symbol=data[4])
                 if self.state == install_state:
                     self.progressDialog.setCurrentOperation(i18n("<b>Installing Package(s)</b>"))
                 elif self.state == upgrade_state:
                     self.progressDialog.setCurrentOperation(i18n("<b>Upgrading Package(s)</b>"))
 
+                self.progressDialog.updateDownloadingInfo(i18n("downloading"), file=data[1], percent=data[2], rate=data[3], symbol=data[4])
+                self.progressDialog.updateTotalDownloaded(pkgDownSize=data[5], pkgTotalSize=data[6])
+                self.progressDialog.updateProgressBar(progress=data[2])
+                #self.progressDialog.updateTotalOperationPercent()
+
     def pisiNotify(self,data):
         data = data.split(",")
         operation = data[0]


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi