git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
getConfigListEntry now supports more than two arguments
[enigma2.git]
/
lib
/
python
/
Components
/
Sources
/
EventInfo.py
diff --git
a/lib/python/Components/Sources/EventInfo.py
b/lib/python/Components/Sources/EventInfo.py
index fc420d8312638a1a31779c9cee8e92b6698edbf7..72d5f18d19eb4bd797426a35c0b503cab6a61f5f 100644
(file)
--- a/
lib/python/Components/Sources/EventInfo.py
+++ b/
lib/python/Components/Sources/EventInfo.py
@@
-1,9
+1,12
@@
from Components.PerServiceDisplay import PerServiceBase
from Components.PerServiceDisplay import PerServiceBase
+from Components.Element import cached
from Tools.Event import Event
from enigma import iPlayableService
from Source import Source
from Tools.Event import Event
from enigma import iPlayableService
from Source import Source
-class EventInfo(PerServiceBase, Source):
+from time import time
+
+class EventInfo(PerServiceBase, Source, object):
NOW = 0
NEXT = 1
NOW = 0
NEXT = 1
@@
-11,19
+14,23
@@
class EventInfo(PerServiceBase, Source):
Source.__init__(self)
PerServiceBase.__init__(self, navcore,
{
Source.__init__(self)
PerServiceBase.__init__(self, navcore,
{
- iPlayableService.evUpdatedEventInfo: self.ourEvent,
- iPlayableService.evEnd: self.stopEvent
- })
+ iPlayableService.evStart: self.gotEvent,
+ iPlayableService.evUpdatedEventInfo: self.gotEvent,
+ iPlayableService.evEnd: self.gotEvent
+ }, with_event=True)
- self.event = None
self.now_or_next = now_or_next
self.now_or_next = now_or_next
-
- def ourEvent(self):
+
+ @cached
+ def getEvent(self):
service = self.navcore.getCurrentService()
info = service and service.info()
service = self.navcore.getCurrentService()
info = service and service.info()
- self.event = info and info.getEvent(self.now_or_next)
- self.changed()
+ return info and info.getEvent(self.now_or_next)
+
+ event = property(getEvent)
- def stopEvent(self):
- self.event = None
- self.changed()
+ def gotEvent(self, what):
+ if what in [iPlayableService.evStart, iPlayableService.evEnd]:
+ self.changed((self.CHANGED_CLEAR,))
+ else:
+ self.changed((self.CHANGED_ALL,))