diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-03-29 12:34:21 +0200 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-03-29 12:34:21 +0200 |
| commit | 82f0ab9f1c70ed64dfe5c3512c10e8cb42103c5f (patch) | |
| tree | ee570230aadd11d433502fbba20f4f400d439a98 /DistUpgrade | |
| parent | 44adfdcf86cf45d4ce62a2de755f747fc3f6e208 (diff) | |
| download | python-apt-82f0ab9f1c70ed64dfe5c3512c10e8cb42103c5f.tar.gz | |
* update the eta based on a UPDATE_HZ value
Diffstat (limited to 'DistUpgrade')
| -rw-r--r-- | DistUpgrade/DistUpgradeViewGtk.py | 30 |
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) |
