from Components.PerServiceDisplay import PerServiceBase from enigma import iPlayableService from Source import Source from Components.Element import cached class CurrentService(PerServiceBase, Source): def __init__(self, navcore): Source.__init__(self) PerServiceBase.__init__(self, navcore, { iPlayableService.evStart: self.serviceEvent, iPlayableService.evEnd: self.serviceEvent, # FIXME: we should check 'interesting_events' # which is not always provided. iPlayableService.evUpdatedInfo: self.serviceEvent, iPlayableService.evUpdatedEventInfo: self.serviceEvent, iPlayableService.evCuesheetChanged: self.serviceEvent, iPlayableService.evVideoSizeChanged: self.serviceEvent }, with_event=True) self.navcore = navcore def serviceEvent(self, event): self.changed((self.CHANGED_SPECIFIC, event)) @cached def getCurrentService(self): return self.navcore.getCurrentService() service = property(getCurrentService)