fix bluescreen in zapping alternatives editor
[enigma2.git] / lib / python / Plugins / Extensions / ZappingAlternatives / plugin.py
index b018c25086b0fbb615976b377b340ba06ceceb64..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,166 +0,0 @@
-from enigma import *
-from Screens.Screen import Screen
-from Screens.MessageBox import MessageBox
-from Components.ActionMap import ActionMap
-from Components.Label import Label
-from Components.Input import Input
-from Components.GUIComponent import *
-from Components.Pixmap import Pixmap
-from Components.MenuList import MenuList
-from Components.FileList import FileEntryComponent, FileList
-from Navigation import Navigation
-import NavigationInstance
-from Screens.ChannelSelection import SimpleChannelSelection
-from ServiceReference import ServiceReference
-from Plugins.Plugin import PluginDescriptor
-
-import os
-
-alternatives = {}
-
-class AlternativeZapping(Screen):
-       skin = """
-               <screen position="100,100" size="560,400" title="Services alternatives setup..." >
-                       <widget name="red" position="0,0" size="140,40" backgroundColor="red" halign="center" valign="center" font="Regular;21" />
-                       <widget name="green" position="140,0" size="140,40" backgroundColor="green" halign="center" valign="center" font="Regular;21" />
-                       <widget name="yellow" position="280,0" size="140,40" backgroundColor="yellow" halign="center" valign="center" font="Regular;21" />
-                       <widget name="blue" position="420,0" size="140,40" backgroundColor="blue" halign="center" valign="center" font="Regular;21" />
-                       <widget name="serviceslist" position="0,40" size="280,360" />
-                       <widget name="alternativeslist" position="280,40" size="280,360" selectionDisabled="1" />
-               </screen>"""
-       def __init__(self, session):
-               self.skin = AlternativeZapping.skin
-               Screen.__init__(self, session)
-               
-               self.red = Label("")
-               self["red"] = self.red
-               self.green = Label(_("Add service"))
-               self["green"] = self.green
-               self.yellow = Label("")
-               self["yellow"] = self.yellow
-               self.blue = Label("")
-               self["blue"] = self.blue
-               
-               self.serviceslist = []
-               self["serviceslist"] = MenuList(self.serviceslist)
-
-               self.alternativeslist = []
-               self["alternativeslist"] = MenuList(self.alternativeslist)
-               
-               self.onShown.append(self.updateServices)
-               self.onShown.append(self.updateAlternatives)
-
-               self["actions"] = ActionMap(["DirectionActions", "OkCancelActions", "ColorActions"],
-               {
-                       "ok": self.go,
-                       "cancel": self.close,
-                       "up": self.up,
-                       "down": self.down,
-                       "left": self.left,
-                       "right": self.right,
-                       "red": self.redKey,
-                       "green": self.greenKey,
-                       "yellow": self.yellowKey,
-                       "blue": self.blueKey,
-               }, -1)
-               
-       def go(self):
-               pass
-       
-       def up(self):
-               self["serviceslist"].instance.moveSelection(self["serviceslist"].instance.moveUp)
-               self.updateAlternatives()
-               
-       def down(self):
-               self["serviceslist"].instance.moveSelection(self["serviceslist"].instance.moveDown)
-               self.updateAlternatives()
-       
-       def left(self):
-               pass
-       
-       def right(self):
-               pass
-       
-       def redKey(self):
-               if len(self.serviceslist) > 0:
-                       del alternatives[self["serviceslist"].getCurrent()[1]]
-               self.updateServices()
-               self.updateAlternatives()
-       
-       def finishedAlternativeSelection(self, args):
-               alternatives[self["serviceslist"].getCurrent()[1]].append(str(ServiceReference(args)))
-               self.updateAlternatives()
-       
-       def updateServices(self):
-               self.serviceslist = []
-               
-               for x in alternatives.keys():
-                       self.serviceslist.append((ServiceReference(x).getServiceName(), x))
-                       
-               self["serviceslist"].l.setList(self.serviceslist)
-               if len(self.serviceslist) > 0:
-                       self.yellow.setText(_("Add alternative"))
-                       self.red.setText(_("Remove service"))
-               else:
-                       self.yellow.setText("")
-                       self.red.setText("")
-                       
-       def updateAlternatives(self):
-               self.alternativeslist = []
-       
-               if len(self.serviceslist) > 0:
-                       alternativelist = alternatives[self["serviceslist"].getCurrent()[1]]
-
-                       for x in alternativelist:
-                               self.alternativeslist.append((ServiceReference(x).getServiceName(), x))
-                       
-               self["alternativeslist"].l.setList(self.alternativeslist)
-                       
-       def greenKey(self):
-               self.session.openWithCallback(self.finishedChannelSelection, SimpleChannelSelection, _("Select reference service"))
-
-       def finishedChannelSelection(self, args):
-               if alternatives.has_key(str(ServiceReference(args))):
-                       pass
-               else:
-                       alternatives[str(ServiceReference(args))] = []
-               print alternatives
-               self.updateServices()
-               #oldref = self.timer.service_ref
-               #try:
-                       #self.timer.service_ref = ServiceReference(args)
-                       #config.timerentry.service.vals = (str(self.timer.service_ref.getServiceName()),)
-                       #self["config"].invalidate(config.timerentry.service)
-               #except:
-               #       print "you pressed cancel"
-                       #self.timer.service_ref = oldref
-       
-       def yellowKey(self):
-               if len(self.serviceslist) > 0:
-                       self.session.openWithCallback(self.finishedAlternativeSelection, SimpleChannelSelection, _("Select alternative service"))
-       
-       def blueKey(self):
-               pass
-
-
-oldPlayService = NavigationInstance.instance.playService
-
-def playService(self, ref):
-       if not oldPlayService(ref):
-               if alternatives.has_key(str(ServiceReference(ref))):
-                       for x in alternatives[str(ServiceReference(ref))]:
-                               if oldPlayService(ServiceReference(x).ref):
-                                       return 1
-               return 0
-       return 1
-
-def autostart(reason):
-       if reason == 0:
-               NavigationInstance.instance.playService = type(NavigationInstance.instance.playService)(playService, NavigationInstance, Navigation)
-
-def AlternativeZappingSetup(session):
-       session.open(AlternativeZapping)
-
-def Plugins():
-       return [PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart),
-                       PluginDescriptor(name="Alternative services setup" , description="Defines alternatives for services.", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=AlternativeZappingSetup)]