1 from Screen import Screen
2 from Components.ActionMap import ActionMap
3 from Components.Label import Label
4 from Components.ScrollLabel import ScrollLabel
5 from enigma import eServiceEventPtr
6 from ServiceReference import ServiceReference
7 from RecordTimer import RecordTimerEntry, parseEvent
8 from TimerEntry import TimerEntry
10 class EventView(Screen):
11 def __init__(self, session, Event, Ref, callback=None):
12 Screen.__init__(self, session)
13 self.cbFunc = callback
14 self.currentService=Ref
16 self["epg_description"] = ScrollLabel()
17 self["datetime"] = Label()
18 self["channel"] = Label()
19 self["duration"] = Label()
20 self["actions"] = ActionMap(["OkCancelActions", "EventViewActions"],
24 "pageUp": self.pageUp,
25 "pageDown": self.pageDown,
26 "prevEvent": self.prevEvent,
27 "nextEvent": self.nextEvent,
28 "timerAdd": self.timerAdd
30 self.onShown.append(self.onCreate)
33 self.setEvent(self.event)
34 self.setService(self.currentService)
37 if self.cbFunc is not None:
38 self.cbFunc(self.setEvent, self.setService, -1)
41 if self.cbFunc is not None:
42 self.cbFunc(self.setEvent, self.setService, +1)
45 newEntry = RecordTimerEntry(self.currentService, *parseEvent(self.event))
46 self.session.openWithCallback(self.timerEditFinished, TimerEntry, newEntry)
48 def timerEditFinished(self, answer):
50 self.session.nav.RecordTimer.record(answer[1])
52 print "Timeredit aborted"
54 def setService(self, service):
55 self.currentService=service
56 name = self.currentService.getServiceName()
58 self["channel"].setText(name)
60 self["channel"].setText(_("unknown service"))
62 def setEvent(self, event):
64 text = event.getEventName()
65 short = event.getShortDescription()
66 ext = event.getExtendedDescription()
67 if len(short) > 0 and short != text:
68 text = text + '\n\n' + short
73 self.session.currentDialog.instance.setTitle(event.getEventName())
74 self["epg_description"].setText(text)
75 self["datetime"].setText(event.getBeginTimeString())
76 self["duration"].setText(_("%d min")%(event.getDuration()/60))
79 self["epg_description"].pageUp()
82 self["epg_description"].pageDown()