summaryrefslogtreecommitdiff
path: root/apt
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2009-05-05 11:59:53 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2009-05-05 11:59:53 +0200
commit1b5b026c1013dc20b572a7fd2a690fe451248ab0 (patch)
tree521023c930ce6d98962beb7c6737e90a28dc9261 /apt
parent51c60cb3447247188bb8bf5c82b53e5199878b36 (diff)
downloadpython-apt-1b5b026c1013dc20b572a7fd2a690fe451248ab0.tar.gz
* apt/progress/__init__.py:
- add update_status_full() that takes file_size/partial_size as additional callback arguments - add pulse_items() that takes a addtional "items" tuple that gives the user full access to the individual items that are fetched * python/progress.cc: - low level code for update_status_full and pulse_items()
Diffstat (limited to 'apt')
-rw-r--r--apt/progress/__init__.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/apt/progress/__init__.py b/apt/progress/__init__.py
index 769942ce..3be197f7 100644
--- a/apt/progress/__init__.py
+++ b/apt/progress/__init__.py
@@ -112,6 +112,13 @@ class FetchProgress(object):
This happens eg. when the downloads fails or is completed.
"""
+ def update_status_full(self, uri, descr, short_descr, status, file_size,
+ partial_size):
+ """Called when the status of an item changes.
+
+ This happens eg. when the downloads fails or is completed. This
+ version include information on current filesize and partial size
+ """
def pulse(self):
"""Called periodically to update the user interface.
@@ -125,6 +132,19 @@ class FetchProgress(object):
float(self.currentCPS))
return True
+ def pulse_items(self, items):
+ """Called periodically to update the user interface.
+ This function includes details about the items being fetched
+ Return True to continue or False to cancel.
+
+ """
+ self.percent = (((self.currentBytes + self.currentItems) * 100.0) /
+ float(self.totalBytes + self.totalItems))
+ if self.currentCPS > 0:
+ self.eta = ((self.totalBytes - self.currentBytes) /
+ float(self.currentCPS))
+ return True
+
def mediaChange(self, medium, drive):
"""react to media change events."""