# HG changeset patch # User Sylvain Thénault # Date 1287068276 -7200 # Node ID 21bbb561809b73eb187ff1294d391192a4e8610e # Parent 3187112bc7ccc89369701077c5f26a0bd0ffa9f3 [iprogress] None resilience diff -r 3187112bc7cc -r 21bbb561809b web/views/iprogress.py --- a/web/views/iprogress.py Wed Oct 13 18:54:59 2010 +0200 +++ b/web/views/iprogress.py Thu Oct 14 16:57:56 2010 +0200 @@ -178,8 +178,11 @@ @classmethod def overrun(cls, iprogress): """overrun = done + todo - """ - if iprogress.done + iprogress.todo > iprogress.revised_cost: - overrun = iprogress.done + iprogress.todo - iprogress.revised_cost + done = iprogress.done or 0 + todo = iprogress.todo or 0 + revised_cost = iprogress.revised_cost or 0 + if done + todo > revised_cost: + overrun = done + todo - revised_cost else: overrun = 0 if overrun < cls.precision: @@ -189,19 +192,19 @@ @classmethod def overrun_percentage(cls, iprogress): """pourcentage overrun = overrun / budget""" - if iprogress.revised_cost == 0: + revised_cost = iprogress.revised_cost or 0 + if revised_cost == 0: return 0 - else: - return cls.overrun(iprogress) * 100. / iprogress.revised_cost + return cls.overrun(iprogress) * 100. / revised_cost def cell_call(self, row, col): self._cw.add_css('cubicweb.iprogress.css') self._cw.add_js('cubicweb.iprogress.js') entity = self.cw_rset.get_entity(row, col) iprogress = entity.cw_adapt_to('IProgress') - done = iprogress.done - todo = iprogress.todo - budget = iprogress.revised_cost + done = iprogress.done or 0 + todo = iprogress.todo or 0 + budget = iprogress.revised_cost or 0 if budget == 0: pourcent = 100 else: