update event info on service start
[enigma2.git] / lib / python / Components / Sources / EventInfo.py
1 from Components.PerServiceDisplay import PerServiceBase
2 from Tools.Event import Event
3 from enigma import iPlayableService
4 from Source import Source
5
6 class EventInfo(PerServiceBase, Source, object):
7         NOW = 0
8         NEXT = 1
9         
10         def __init__(self, navcore, now_or_next):
11                 Source.__init__(self)
12                 PerServiceBase.__init__(self, navcore, 
13                         { 
14                                 iPlayableService.evStart: self.changed,
15                                 iPlayableService.evUpdatedEventInfo: self.changed,
16                                 iPlayableService.evEnd: self.changed
17                         })
18                 
19                 self.now_or_next = now_or_next
20                 
21         def getEvent(self):
22                 service = self.navcore.getCurrentService()
23                 info = service and service.info()
24                 return info and info.getEvent(self.now_or_next)
25
26         event = property(getEvent)