from Converter import Converter
from Poll import Poll
from time import time
-from Components.Element import cached
+from Components.Element import cached, ElementError
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 ElementError("'%s' is not <StartTime|EndTime|Remaining|Duration|Progress> for EventTime converter" % type)
@cached
def getTime(self):
event = self.source.event
if event is None:
- if len(self.downstream_elements) and self.downstream_elements[0].visible:
- self.downstream_elements[0].visible = False
return None
- if len(self.downstream_elements) and not self.downstream_elements[0].visible:
- self.downstream_elements[0].visible = True
-
now = int(time())
start_time = event.getBeginTime()
duration = event.getDuration()
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