8e582d55f224c4a3a244e052fd2e9a3d75b6d4b9
[vuplus_dvbapp] / lib / python / Components / Sources / CurrentService.py
1 from Components.PerServiceDisplay import PerServiceBase
2 from enigma import iPlayableService
3 from Source import Source
4 from Components.Element import cached
5
6 from time import time
7
8 class CurrentService(PerServiceBase, Source):
9         def __init__(self, navcore):
10                 Source.__init__(self)
11                 PerServiceBase.__init__(self, navcore, 
12                         { 
13                                 iPlayableService.evStart: self.serviceEvent,
14                                 iPlayableService.evEnd: self.serviceEvent,
15                                 # FIXME: we should check 'interesting_events'
16                                 # which is not always provided.
17                                 iPlayableService.evUpdatedInfo: self.serviceEvent,
18                                 iPlayableService.evUpdatedEventInfo: self.serviceEvent,
19                                 iPlayableService.evCuesheetChanged: self.serviceEvent,
20                                 iPlayableService.evVideoSizeChanged: self.serviceEvent
21                         }, with_event=True)
22                 self.navcore = navcore
23
24         def serviceEvent(self, event):
25                 self.changed((self.CHANGED_SPECIFIC, event))
26
27         @cached
28         def getCurrentService(self):
29                 return self.navcore.getCurrentService()
30
31         service = property(getCurrentService)