X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FSources%2FEventInfo.py;fp=lib%2Fpython%2FComponents%2FSources%2FEventInfo.py;h=f3fd6e885a68de3bbac744e15f8c9e2352275fd4;hb=37f07c233166d0be348a7479be6eb59ceb010328;hp=a4bc874f534e3812b839fa71d67002fbafc64130;hpb=2a4e5e2d7e124dc7fe0de1a12f0fc2f7cd3def6d;p=vuplus_dvbapp diff --git a/lib/python/Components/Sources/EventInfo.py b/lib/python/Components/Sources/EventInfo.py index a4bc874..f3fd6e8 100644 --- a/lib/python/Components/Sources/EventInfo.py +++ b/lib/python/Components/Sources/EventInfo.py @@ -1,9 +1,8 @@ from Components.PerServiceDisplay import PerServiceBase from Components.Element import cached -from enigma import iPlayableService +from enigma import iPlayableService, iServiceInformation, eServiceReference, eEPGCache from Source import Source - class EventInfo(PerServiceBase, Source, object): NOW = 0 NEXT = 1 @@ -16,19 +15,23 @@ class EventInfo(PerServiceBase, Source, object): iPlayableService.evUpdatedEventInfo: self.gotEvent, iPlayableService.evEnd: self.gotEvent }, with_event=True) - self.now_or_next = now_or_next + self.epgQuery = eEPGCache.getInstance().lookupEventTime @cached def getEvent(self): service = self.navcore.getCurrentService() info = service and service.info() - return info and info.getEvent(self.now_or_next) + ret = info and info.getEvent(self.now_or_next) + if not ret and info: + refstr = info.getInfoString(iServiceInformation.sServiceref) + ret = self.epgQuery(eServiceReference(refstr), -1, self.now_or_next and 1 or 0) + return ret event = property(getEvent) def gotEvent(self, what): - if what in [iPlayableService.evStart, iPlayableService.evEnd]: + if what == iPlayableService.evEnd: self.changed((self.CHANGED_CLEAR,)) else: self.changed((self.CHANGED_ALL,))