1 from PerServiceDisplay import *
2 from time import strftime
3 from time import localtime, time
5 from enigma import iServiceInformationPtr, eServiceEventPtr
7 class EventInfo(PerServiceDisplay):
15 def __init__(self, navcore, now_or_next):
16 # listen to evUpdatedEventInfo and evEnd
17 # note that evEnd will be called once to establish a known state
18 self.now_or_next = now_or_next
19 PerServiceDisplay.__init__(self, navcore,
21 iPlayableService.evUpdatedEventInfo: self.ourEvent,
22 iPlayableService.evEnd: self.stopEvent
26 info = iServiceInformationPtr()
27 service = self.navcore.getCurrentService()
32 ev = info.getEvent(self.now_or_next & 1)
38 if (self.Now_Duration <= self.now_or_next <= self.Next_Duration):
39 self.setText("%d min" % (ev.getDuration() / 60))
40 if (self.Now_StartTime <= self.now_or_next <= self.Next_StartTime):
41 self.setText(strftime("%H:%M", localtime(ev.getBeginTime())))
42 if (self.Now <= self.now_or_next <= self.Next):
43 self.setText(ev.getEventName())
47 #(_("waiting for event data..."), "", "--:--", "--:--", "--:--", "--:--")[self.now_or_next]);
48 ("", "", "--:--", "--:--", "--:--", "--:--")[self.now_or_next]);
51 class EventInfoProgress(PerServiceDisplayProgress, EventInfo):
52 def __init__(self, navcore, now_or_next):
53 self.now_or_next = now_or_next
54 PerServiceDisplayProgress.__init__(self, navcore,
56 iPlayableService.evUpdatedEventInfo: self.ourEvent,
57 iPlayableService.evEnd: self.stopEvent
61 self.g.setRange(0, ev.getDuration())
62 progress = int(time() - ev.getBeginTime())
64 self.setValue(progress)