1 from Plugins.Plugin import PluginDescriptor
2 from Components.PluginComponent import plugins
3 from Components.config import config, ConfigSubsection, ConfigSelection
4 from enigma import eDBoxLCD
6 config.plugins.minitv = ConfigSubsection()
7 config.plugins.minitv.enable = ConfigSelection(default = "disable", choices = [ ("enable", "enable"), ("disable", "disable")])
11 config.plugins.minitv.enable.addNotifier(self.miniTVChanged, initial_call = True)
12 config.misc.standbyCounter.addNotifier(self.standbyCounterChanged, initial_call = False)
14 def getExtensionName(self):
15 if config.plugins.minitv.enable.value == "enable":
16 return _("Disable MiniTV")
18 return _("Enable MiniTV")
21 old_value = config.plugins.minitv.enable.value
22 config.plugins.minitv.enable.value = (old_value == "enable") and "disable" or "enable"
23 config.plugins.minitv.enable.save()
25 def miniTVChanged(self, configElement):
26 self.setMiniTV(configElement.value)
28 def setMiniTV(self, value):
29 cur_value = open("/proc/stb/lcd/live_enable", "r").read().strip()
30 if cur_value != value:
31 open("/proc/stb/lcd/live_enable", "w").write(value)
33 def standbyCounterChanged(self, configElement):
34 from Screens.Standby import inStandby
35 if self.leaveStandby not in inStandby.onClose:
36 inStandby.onClose.append(self.leaveStandby)
38 self.setMiniTV("disable")
40 def leaveStandby(self):
41 self.setMiniTV(config.plugins.minitv.enable.value)
43 minitv_instance = MiniTV()
45 def addExtentions(infobarExtensions):
46 infobarExtensions.addExtension((minitv_instance.getExtensionName, minitv_instance.showMiniTV, lambda: True), None)
48 def autoStart(reason, **kwargs):
50 minitv_instance.setMiniTV("standby")
52 def Plugins(**kwargs):
55 PluginDescriptor(name="MiniTV",
57 where = [PluginDescriptor.WHERE_EXTENSIONSINGLE],
62 where = [PluginDescriptor.WHERE_AUTOSTART],