blob: 05085ead2c42ccd004566404b88cb66b6fd8f96a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# must be fixed for the new plugin interface
from Tools.BoundFunction import boundFunction
from Tools.Directories import pathExists
from Plugins.Plugin import PluginDescriptor
from pluginrunner import PluginRunner
from os import listdir
TUXBOX_PLUGINS_PATH = "/usr/lib/tuxbox/plugins/"
def getPlugins():
pluginlist = []
if pathExists(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)))
return pluginlist
def getPluginParams(file):
params = {}
try:
file = open(TUXBOX_PLUGINS_PATH + file, "r")
for x in file.readlines():
split = x.split("=")
params[split[0]] = split[1]
file.close()
except IOError:
print "no tuxbox plugins found"
return params
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()
|