# must be fixed for the new plugin interface
-from enigma import *
-from Screens.Screen import Screen
-from Screens.MessageBox import MessageBox
-from Components.ActionMap import ActionMap
-from Components.Label import Label
from Tools.BoundFunction import boundFunction
from Tools.Directories import pathExists
from Plugins.Plugin import PluginDescriptor
+from pluginrunner import PluginRunner
-import os
+from os import listdir
TUXBOX_PLUGINS_PATH = "/usr/lib/tuxbox/plugins/"
pluginlist = []
if pathExists(TUXBOX_PLUGINS_PATH):
- dir = os.listdir(TUXBOX_PLUGINS_PATH)
+ dir = listdir(TUXBOX_PLUGINS_PATH)
for x in dir:
if x[-3:] == "cfg":
params = getPluginParams(x)
- pluginlist.append(PluginDescriptor(name=params["name"], description=params["desc"], where = PluginDescriptor.WHERE_PLUGINMENU, icon="tuxbox.png", fnc=boundFunction(main, plugin=x)))
+ pluginlist.append(PluginDescriptor(name=params["name"], description=params["desc"], where = PluginDescriptor.WHERE_PLUGINMENU, icon="tuxbox.png", needsRestart = True, fnc=boundFunction(main, plugin=x)))
return pluginlist
return params
-def main(session, plugin):
+def main(session, plugin, **kwargs):
print "Running plugin " + plugin[:-4] + ".so with config file", plugin
print getPluginParams(plugin)
+ session.open(PluginRunner, plugin[:-4].split(".so")[0])
-def Plugins():
- return getPlugins()
\ No newline at end of file
+def Plugins(**kwargs):
+ return getPlugins()