-from GUIComponent import *
-from VariableText import *
-from VariableValue import *
+from GUIComponent import GUIComponent
+from VariableText import VariableText
+from VariableValue import VariableValue
from enigma import iPlayableService
from enigma import eLabel, eSlider, eTimer
def __init__(self, navcore, eventmap, with_event=False):
self.eventmap = eventmap
self.navcore = navcore
- self.navcore.event.append(self.event)
+ self.navcore.event.append(self.event_callback)
self.poll_timer = eTimer()
- self.poll_timer.timeout.get().append(self.poll)
+ self.poll_timer.callback.append(self.poll)
self.with_event = with_event
# start with stopped state, so simulate that
- self.event(iPlayableService.evEnd)
+ self.event_callback(iPlayableService.evEnd)
def destroy(self):
- self.navcore.event.remove(self.event)
+ self.navcore.event.remove(self.event_callback)
- def event(self, ev):
+ def event_callback(self, ev):
# loop up if we need to handle this event
- if self.eventmap.has_key(ev):
+ func = self.eventmap.get(ev)
+ if func:
# call handler
if self.with_event:
- self.eventmap[ev](ev)
+ func(ev)
else:
- self.eventmap[ev]()
+ func()
def enablePolling(self, interval=60000):
if interval:
VariableText.__init__(self)
PerServiceBase.__init__(self, navcore, eventmap)
+ def destroy(self):
+ PerServiceBase.destroy(self)
+ GUIComponent.destroy(self)
+
GUI_WIDGET = eLabel
class PerServiceDisplayProgress(PerServiceBase, VariableValue, GUIComponent):
self.event(iPlayableService.evEnd)
GUI_WIDGET = eSlider
+
+ def destroy(self):
+ PerServiceBase.destroy(self)
+ GUIComponent.destroy(self)