summaryrefslogtreecommitdiff
path: root/DistUpgrade
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2006-03-29 12:34:21 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2006-03-29 12:34:21 +0200
commit82f0ab9f1c70ed64dfe5c3512c10e8cb42103c5f (patch)
treeee570230aadd11d433502fbba20f4f400d439a98 /DistUpgrade
parent44adfdcf86cf45d4ce62a2de755f747fc3f6e208 (diff)
downloadpython-apt-82f0ab9f1c70ed64dfe5c3512c10e8cb42103c5f.tar.gz
* update the eta based on a UPDATE_HZ value
Diffstat (limited to 'DistUpgrade')
-rw-r--r--DistUpgrade/DistUpgradeViewGtk.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/DistUpgrade/DistUpgradeViewGtk.py b/DistUpgrade/DistUpgradeViewGtk.py
index 93cb8027..80eb8815 100644
--- a/DistUpgrade/DistUpgradeViewGtk.py
+++ b/DistUpgrade/DistUpgradeViewGtk.py
@@ -115,6 +115,8 @@ class GtkFetchProgressAdapter(apt.progress.FetchProgress):
return True
class GtkInstallProgressAdapter(InstallProgress):
+ UPDATE_HZ = 1
+
def __init__(self,parent):
InstallProgress.__init__(self)
self.label_status = parent.label_status
@@ -199,20 +201,8 @@ class GtkInstallProgressAdapter(InstallProgress):
if self.start_time == 0.0:
#print "setting start time to %s" % self.start_time
self.start_time = time.time()
- else:
- delta = time.time() - self.start_time
- #print "delta: %s (%s - %s) " % (delta, time.time(), self.start_time)
- #print "percent: %s" % percent
- eta = (100.0 - percent) * (float(delta)/percent)
- #print "eta: %s" % eta
- #print "eta (TimeToStr): %s" % apt_pkg.TimeToStr(eta)
- #print
- self.progress.set_fraction(float(percent)/100.0)
- # only show if more than 5s and less than 2 days
- if eta > 5.0 and eta < (60*60*24*2):
- self.progress.set_text(_("%s remaining") % apt_pkg.TimeToStr(eta))
- else:
- self.progress.set_text(" ")
+ self.last_time = self.start_time
+ self.progress.set_fraction(float(self.percent)/100.0)
self.label_status.set_text(status.strip())
def child_exited(self, term, pid, status):
@@ -233,6 +223,18 @@ class GtkInstallProgressAdapter(InstallProgress):
if self.start_time == 0.0:
self.progress.pulse()
time.sleep(0.15)
+ else:
+ # it started!
+ if (time.time() - self.last_time) > self.UPDATE_HZ:
+ self.last_time = time.time()
+ delta = self.last_time - self.start_time
+ eta = (100.0 - self.percent) * (float(delta)/self.percent)
+ # only show if it is in sensible bounds
+ if eta > 1.0 and eta < (60*60*24*2):
+ self.progress.set_text(_("%s remaining")%apt_pkg.TimeToStr(eta))
+ else:
+ self.progress.set_text(" ")
+
while gtk.events_pending():
gtk.main_iteration()
time.sleep(0.02)