from Converter import Converter
from Poll import Poll
from time import time
+from Components.Element import cached
class EventTime(Poll, Converter, object):
STARTTIME = 0
self.poll_interval = 30*1000
self.poll_enabled = True
else:
- raise str("'%s' is not <StartTime|EndTime|Remaining|Duration> for EventTime converter" % type)
+ raise str("'%s' is not <StartTime|EndTime|Remaining|Duration|Progress> for EventTime converter" % type)
+ @cached
def getTime(self):
- if self.cache is None or self.cache[0] is None:
- self.cache = (self.__getTime(), self.cache and self.cache[1])
- return self.cache[0]
-
- def __getTime(self):
assert self.type != self.PROGRESS
event = self.source.event
else:
return (duration, None)
+ @cached
def getValue(self):
- if self.cache is None or self.cache[1] is None:
- self.cache = (self.cache and self.cache[0], self.__getValue())
- return self.cache[1]
-
- def __getValue(self):
assert self.type == self.PROGRESS
event = self.source.event
time = property(getTime)
value = property(getValue)
range = 1000
+
+ def changed(self, what):
+ Converter.changed(self, what)
+ if self.type == self.PROGRESS and len(self.downstream_elements):
+ if not self.source.event and self.downstream_elements[0].visible:
+ self.downstream_elements[0].visible = False
+ elif self.source.event and not self.downstream_elements[0].visible:
+ self.downstream_elements[0].visible = True