summaryrefslogtreecommitdiff
path: root/pluginloader.py
diff options
context:
space:
mode:
Diffstat (limited to 'pluginloader.py')
-rw-r--r--pluginloader.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/pluginloader.py b/pluginloader.py
new file mode 100644
index 0000000..1f568d4
--- /dev/null
+++ b/pluginloader.py
@@ -0,0 +1,19 @@
+import imp
+import os
+
+PluginFolder = "./photoblaster/modules_src"
+MainModule = "__init__"
+
+def getPlugins():
+ plugins = []
+ possibleplugins = os.listdir(PluginFolder)
+ for i in possibleplugins:
+ location = os.path.join(PluginFolder, i)
+ if not os.path.isdir(location) or not MainModule + ".py" in os.listdir(location):
+ continue
+ info = imp.find_module(MainModule, [location])
+ plugins.append({"name": i, "info": info})
+ return plugins
+
+def loadPlugin(plugin):
+ return imp.load_module(MainModule, *plugin["info"])