diff -r 7e37cb866e97 -r dc07678c4935 web/htmlwidgets.py --- a/web/htmlwidgets.py Wed Mar 03 19:20:03 2010 +0100 +++ b/web/htmlwidgets.py Thu Mar 04 09:57:40 2010 +0100 @@ -336,88 +336,3 @@ yield column, self.model.sortvalue(rowindex, column.rset_sortcol) -class ProgressBarWidget(HTMLWidget): - """display a progress bar widget""" - precision = 0.1 - red_threshold = 1.1 - orange_threshold = 1.05 - yellow_threshold = 1 - - def __init__(self, done, todo, total): - self.done = done - self.todo = todo - self.budget = total - - @property - def overrun(self): - """overrun = done + todo - """ - if self.done + self.todo > self.budget: - overrun = self.done + self.todo - self.budget - else: - overrun = 0 - if overrun < self.precision: - overrun = 0 - return overrun - - @property - def overrun_percentage(self): - """pourcentage overrun = overrun / budget""" - if self.budget == 0: - return 0 - else: - return self.overrun * 100. / self.budget - - def _render(self): - done = self.done - todo = self.todo - budget = self.budget - if budget == 0: - pourcent = 100 - else: - pourcent = done*100./budget - if pourcent > 100.1: - color = 'red' - elif todo+done > self.red_threshold*budget: - color = 'red' - elif todo+done > self.orange_threshold*budget: - color = 'orange' - elif todo+done > self.yellow_threshold*budget: - color = 'yellow' - else: - color = 'green' - if pourcent < 0: - pourcent = 0 - - if floor(done) == done or done>100: - done_str = '%i' % done - else: - done_str = '%.1f' % done - if floor(budget) == budget or budget>100: - budget_str = '%i' % budget - else: - budget_str = '%.1f' % budget - - title = u'%s/%s = %i%%' % (done_str, budget_str, pourcent) - short_title = title - if self.overrun_percentage: - title += u' overrun +%sj (+%i%%)' % (self.overrun, - self.overrun_percentage) - overrun = self.overrun - if floor(overrun) == overrun or overrun>100: - overrun_str = '%i' % overrun - else: - overrun_str = '%.1f' % overrun - short_title += u' +%s' % overrun_str - # write bars - maxi = max(done+todo, budget) - if maxi == 0: - maxi = 1 - - cid = random.randint(0, 100000) - self.w(u'%s
' - u'' - u'' - % (short_title.replace(' ',' '), cid, cid, - int(100.*done/maxi), int(100.*(done+todo)/maxi), - int(100.*budget/maxi), color))