aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/PluginComponent.py
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-21 04:41:36 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-21 04:41:36 +0000
commitccb8d260ed5e51f6f65205be04744a9e8322aa6f (patch)
treec8243a30d7b7627229186ca13a463952b92c1322 /lib/python/Components/PluginComponent.py
parent8589eb49ec20d3503a476f398ec84d7ad0307d26 (diff)
downloadenigma2-ccb8d260ed5e51f6f65205be04744a9e8322aa6f.tar.gz
enigma2-ccb8d260ed5e51f6f65205be04744a9e8322aa6f.zip
add plugins
to test it: uncomment the example.py in lib/python/Plugins/Makefile.am plugins can be added at runtime
Diffstat (limited to 'lib/python/Components/PluginComponent.py')
-rw-r--r--lib/python/Components/PluginComponent.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/python/Components/PluginComponent.py b/lib/python/Components/PluginComponent.py
new file mode 100644
index 00000000..26382063
--- /dev/null
+++ b/lib/python/Components/PluginComponent.py
@@ -0,0 +1,33 @@
+import os
+
+from Tools.Directories import *
+#import Plugins
+
+class PluginComponent:
+ def __init__(self):
+ self.plugins = []
+ self.setPluginPrefix("Plugins.")
+
+ def setPluginPrefix(self, prefix):
+ self.prefix = prefix
+
+ def getPluginList(self):
+ list = []
+ dir = os.listdir("/usr/lib/enigma2/python/Plugins/")
+ for x in dir:
+ if x[-3:] == ".py" and x[:-3] != "__init__":
+ #try:
+ print "trying to import " + self.prefix + x[:-3]
+ exec "import " + self.prefix + x[:-3]
+ picturepath = eval(self.prefix + x[:-3]).getPicturePath()
+ pluginname = eval(self.prefix + x[:-3]).getPluginName()
+ list.append((picturepath, pluginname , x[:-3]))
+ #except:
+ #print "Failed to open module - wrong plugin!"
+ return list
+
+ def runPlugin(self, plugin, session):
+ exec "import " + self.prefix + plugin[2]
+ eval(self.prefix + plugin[2]).main(session)
+
+plugins = PluginComponent()