2 Utilities relating to computing progress information.
4 Ties in with the "consumer" module also
7 from allmydata.interfaces import IProgress
8 from zope.interface import implementer
11 @implementer(IProgress)
12 class PercentProgress(object):
14 Represents progress as a percentage, from 0.0 to 100.0
17 def __init__(self, total_size=None):
19 self.set_progress_total(total_size)
21 def set_progress(self, value):
25 def set_progress_total(self, size):
29 self._total_size = size
33 if self._total_size is None:
35 if self._total_size <= 0.0:
37 return (self._value / self._total_size) * 100.0