servicemp3.cpp: more simple/flexible streaming detection
[enigma2.git] / lib / python / Plugins / Extensions / TuxboxPlugins / plugin.py
index 8d4e15816648729a910730062ab2a39bc21f9064..e124ffd2d2cfed365c2bc167caf37e2a44e0b689 100644 (file)
@@ -1,14 +1,10 @@
 # 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/"
 
@@ -16,12 +12,12 @@ def getPlugins():
        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
 
@@ -41,6 +37,7 @@ def getPluginParams(file):
 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(**kwargs):
        return getPlugins()