1 from Components.PerServiceDisplay import PerServiceBase
2 from Components.Element import cached
3 from enigma import iPlayableService
4 from Source import Source
6 class RdsDecoder(PerServiceBase, Source, object):
7 def __init__(self, navcore):
9 PerServiceBase.__init__(self, navcore,
11 iPlayableService.evStart: self.gotEvent,
12 iPlayableService.evUpdatedRadioText: self.gotEvent,
13 iPlayableService.evUpdatedRtpText: self.gotEvent,
14 iPlayableService.evUpdatedRassInteractivePicMask: self.gotEvent,
15 iPlayableService.evEnd: self.gotEvent
20 service = self.navcore.getCurrentService()
21 return service and service.rdsDecoder()
23 decoder = property(getDecoder)
25 def gotEvent(self, what):
26 if what in [iPlayableService.evStart, iPlayableService.evEnd]:
27 self.changed((self.CHANGED_CLEAR,))
29 self.changed((self.CHANGED_SPECIFIC, what))
32 PerServiceBase.destroy(self)