from Components.ScrollLabel import ScrollLabel
from enigma import eServiceEventPtr
from ServiceReference import ServiceReference
-from RecordTimer import RecordTimerEntry
+from RecordTimer import RecordTimerEntry, parseEvent
from TimerEntry import TimerEntry
class EventView(Screen):
def __init__(self, session, Event, Ref, callback=None):
Screen.__init__(self, session)
self.cbFunc = callback
- self.currentService=None
+ self.currentService=Ref
+ self.event = Event
self["epg_description"] = ScrollLabel()
self["datetime"] = Label()
self["channel"] = Label()
"nextEvent": self.nextEvent,
"timerAdd": self.timerAdd
})
- self.setEvent(Event)
- self.setService(Ref)
+ self.onShown.append(self.onCreate)
+
+ def onCreate(self):
+ self.setEvent(self.event)
+ self.setService(self.currentService)
def prevEvent(self):
if self.cbFunc is not None:
- self.cbFunc(self.setEvent, -1)
+ self.cbFunc(self.setEvent, self.setService, -1)
def nextEvent(self):
if self.cbFunc is not None:
- self.cbFunc(self.setEvent, +1)
-
- def timerAdd(self):
- epg = self.event
-
- if (epg == None):
- description = "unknown event"
- else:
- description = epg.getEventName()
- # FIXME we need a timestamp here:
- begin = epg.getBeginTime()
-
- print begin
- print epg.getDuration()
- end = begin + epg.getDuration()
+ self.cbFunc(self.setEvent, self.setService, +1)
-
- # FIXME only works if already playing a service
- serviceref = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference())
-
- newEntry = RecordTimerEntry(begin, end, serviceref, epg, description)
+ def timerAdd(self):
+ newEntry = RecordTimerEntry(self.currentService, *parseEvent(self.event))
self.session.openWithCallback(self.timerEditFinished, TimerEntry, newEntry)
def timerEditFinished(self, answer):