Merge commit 'origin/bug_138_networkwizard_fixes' into experimental
[enigma2.git] / lib / python / Plugins / SystemPlugins / FrontprocessorUpgrade / plugin.py
index 94c81c05453f14d34fd61900f2cc4a6b3af13603..38b80c95c84d35a722d3addad77f2097a4c27ce5 100644 (file)
@@ -5,11 +5,14 @@ from Plugins.Plugin import PluginDescriptor
 
 def getUpgradeVersion():
        import os
-       r = os.popen("fpupgrade --version").read()
+       try:
+               r = os.popen("fpupgrade --version").read()
+       except IOError:
+               return None
        if r[:16] != "FP update tool v":
                return None
        else:
-               return int(r[16:])
+               return int(r[16:17])
 
 class FPUpgrade(Screen):
        skin = """
@@ -44,11 +47,41 @@ class FPUpgrade(Screen):
        def ok(self):
                self.close(4)
 
+class SystemMessage(Screen):
+       skin = """
+               <screen position="150,200" size="450,200" title="System Message" >
+                       <widget source="text" position="0,0" size="450,200" font="Regular;20" halign="center" valign="center" render="Label" />
+                       <ePixmap pixmap="skin_default/icons/input_error.png" position="5,5" size="53,53" alphatest="on" />
+               </screen>"""
+       def __init__(self, session, message):
+               from Components.Sources.StaticText import StaticText
+
+               Screen.__init__(self, session)
+
+               self["text"] = StaticText(message)
+
+               self["actions"] = ActionMap(["OkCancelActions"],
+               {
+                       "cancel": self.ok,
+               })
+
+       def ok(self):
+               self.close()
+
 def Plugins(**kwargs):
        from Tools.DreamboxHardware import getFPVersion
+       from Screens.MessageBox import MessageBox
+
        version = getFPVersion()
        newversion = getUpgradeVersion() or 0
+       list = []
        if version is not None and version < newversion:
-               return PluginDescriptor(name="FP Upgrade", where = PluginDescriptor.WHERE_WIZARD, fnc=FPUpgrade)
-       else:
-               return [ ]
+               list.append(PluginDescriptor(name="FP Upgrade", where = PluginDescriptor.WHERE_WIZARD, fnc=(8, FPUpgrade)))
+
+       try:
+               msg = open("/proc/stb/message").read()
+               list.append(PluginDescriptor(name="System Message Check", where = PluginDescriptor.WHERE_WIZARD, fnc=(9, SystemMessage, msg)))
+       except:
+               pass
+
+       return list