X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1557c715e461d5a7deb04bb008c6497441351bbe..5e0d91a196bfe872d04d676e5f6c2d5940786be0:/lib/python/Components/Converter/EventTime.py diff --git a/lib/python/Components/Converter/EventTime.py b/lib/python/Components/Converter/EventTime.py index 4a73e0ac..966f2ca8 100644 --- a/lib/python/Components/Converter/EventTime.py +++ b/lib/python/Components/Converter/EventTime.py @@ -1,6 +1,7 @@ from Converter import Converter from Poll import Poll from time import time +from Components.Element import cached class EventTime(Poll, Converter, object): STARTTIME = 0 @@ -27,14 +28,10 @@ class EventTime(Poll, Converter, object): self.poll_interval = 30*1000 self.poll_enabled = True else: - raise str("'%s' is not for EventTime converter" % type) + raise str("'%s' is not 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 @@ -57,12 +54,8 @@ class EventTime(Poll, Converter, object): 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 @@ -80,3 +73,11 @@ class EventTime(Poll, Converter, object): 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