X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FZappingModeSelection%2Fplugin.py;fp=lib%2Fpython%2FPlugins%2FSystemPlugins%2FZappingModeSelection%2Fplugin.py;h=b0fee9b0e770b3ee5d3e503a196f20a0ae49985b;hp=0000000000000000000000000000000000000000;hb=1743f5e172cd8815a5a9d687ead3cd051e681ea3;hpb=36ee725378e9d1513aabc331a784285f8739985b;ds=sidebyside diff --git a/lib/python/Plugins/SystemPlugins/ZappingModeSelection/plugin.py b/lib/python/Plugins/SystemPlugins/ZappingModeSelection/plugin.py new file mode 100644 index 0000000..b0fee9b --- /dev/null +++ b/lib/python/Plugins/SystemPlugins/ZappingModeSelection/plugin.py @@ -0,0 +1,80 @@ +from Screens.Screen import Screen +from Components.ConfigList import ConfigListScreen +from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigSelection +from Components.ActionMap import ActionMap +from Screens.MessageBox import MessageBox +from Components.Sources.StaticText import StaticText +from Plugins.Plugin import PluginDescriptor +from Tools.Directories import fileExists + +config.plugins.zappingModeSelection = ConfigSubsection() +config.plugins.zappingModeSelection.zappingMode = ConfigSelection(default = "mute", choices = [ ("mute", _("MUTE")), ("hold", _("HOLD"))] ) + +class ZappingModeSelectionInit: + def __init__(self): + self.setZappingMode(config.plugins.zappingModeSelection.zappingMode.value) + + def setZappingMode(self, mode = "mute"): + if not fileExists("/proc/stb/video/zapping_mode"): + return -1 + print " set zapping mode : %s" % mode + f = open("/proc/stb/video/zapping_mode", "w") + f.write("%s" % mode) + f.close() + return 0 + +class ZappingModeSelection(Screen,ConfigListScreen,ZappingModeSelectionInit): + skin = """ + + + + + + + + """ + + def __init__(self,session): + Screen.__init__(self,session) + self.session = session + self["shortcuts"] = ActionMap(["ShortcutActions", "SetupActions" ], + { + "ok": self.keySave, + "cancel": self.keyCancel, + "red": self.keyCancel, + "green": self.keySave, + }, -2) + self.list = [] + ConfigListScreen.__init__(self, self.list,session = self.session) + self["key_red"] = StaticText(_("Cancel")) + self["key_green"] = StaticText(_("Ok")) + self.createSetup() + + def createSetup(self): + self.list = [] + self.rcsctype = getConfigListEntry(_("Zapping Mode"), config.plugins.zappingModeSelection.zappingMode) + self.list.append( self.rcsctype ) + self["config"].list = self.list + self["config"].l.setList(self.list) + + def keySave(self): + print " Zapping Code : ",config.plugins.zappingModeSelection.zappingMode.value + ret = self.setZappingMode(config.plugins.zappingModeSelection.zappingMode.value) + if ret == -1: + self.resetConfig() + self.session.openWithCallback(self.close, MessageBox, _("SET FAILED!\nPlease update to the latest driver"), MessageBox.TYPE_ERROR) + else: + self.saveAll() + self.close() + + def resetConfig(self): + for x in self["config"].list: + x[1].cancel() + +def main(session, **kwargs): + session.open(ZappingModeSelection) + +def Plugins(**kwargs): + return [PluginDescriptor(name=_("ZappingModeSelection"), description="Zapping Mode Selection", where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=main)] + +zappingmodeselectioninit = ZappingModeSelectionInit()