add WHERE_WIZARD plugins
authorFelix Domke <tmbinc@elitedvb.net>
Tue, 21 Feb 2006 22:07:56 +0000 (22:07 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Tue, 21 Feb 2006 22:07:56 +0000 (22:07 +0000)
lib/python/Plugins/Plugin.py
mytest.py

index d10a3fb..d363509 100644 (file)
@@ -21,6 +21,9 @@ class PluginDescriptor:
        # reason (0: start, 1: end)
        WHERE_AUTOSTART = 5
        
+       # start as wizard. In that case, fnc must be a screen class!
+       WHERE_WIZARD = 6
+       
        def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None):
                self.name = name
                if type(where) is list:
index 8ae28ab..9d2998b 100644 (file)
--- a/mytest.py
+++ b/mytest.py
@@ -29,7 +29,7 @@ try:
        
        def runReactor():
                reactor.run()
-except:
+except ImportError:
        print "twisted not available"
        def runReactor():
                runMainloop()
@@ -42,6 +42,7 @@ from Screens.Wizard import wizardManager
 from Screens.StartWizard import *
 from Screens.TutorialWizard import *
 from Tools.BoundFunction import boundFunction
+from Plugins.Plugin import PluginDescriptor
 
 had = dict()
 
@@ -271,11 +272,13 @@ def runScreenTest():
        session.nav = Navigation()
        
        screensToRun = wizardManager.getWizards()
+       for p in plugins.getPlugins(PluginDescriptor.WHERE_WIZARD):
+               screensToRun.append(p.__call__)
        screensToRun.append(Screens.InfoBar.InfoBar)
 
        def runNextScreen(session, screensToRun, *result):
                if result:
-                       quitMainloop(result)
+                       quitMainloop(*result)
        
                screen = screensToRun[0]