diff --git a/plugin/__init__.py b/plugin/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/plugin/http/__init__.py b/plugin/http/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/plugin/manager.py b/plugin/manager.py deleted file mode 100644 index e69de29..0000000 diff --git a/plugin/mysql/__init__.py b/plugin/mysql/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/plugin/template/__init__.py b/plugin/template/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/plugin/template/template.py b/plugin/template/template.py deleted file mode 100644 index e69de29..0000000 diff --git a/plugin_test.py b/plugin_test.py deleted file mode 100644 index 0323673..0000000 --- a/plugin_test.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/python -# -*- coding: cp1252 -*- - -import plugin - diff --git a/plugin_test/plugin_test.py b/plugin_test/plugin_test.py new file mode 100644 index 0000000..daff263 --- /dev/null +++ b/plugin_test/plugin_test.py @@ -0,0 +1,13 @@ +#!/usr/bin/python +# -*- coding: cp1252 -*- + +import time +import pluginloader + +while True: + time.sleep(1) + print ("Alarm!") + for i in pluginloader.getPlugins(): + print("Loading plugin " + i["name"]) + plugin = pluginloader.loadPlugin(i) + plugin.run() \ No newline at end of file diff --git a/plugin_test/pluginloader.py b/plugin_test/pluginloader.py new file mode 100644 index 0000000..346d5d6 --- /dev/null +++ b/plugin_test/pluginloader.py @@ -0,0 +1,22 @@ +#!/usr/bin/python +# -*- coding: cp1252 -*- + +import imp +import os + +PluginFolder = "./plugins" +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"]) \ No newline at end of file diff --git a/plugin_test/plugins/http/__init__.py b/plugin_test/plugins/http/__init__.py new file mode 100644 index 0000000..5f1887e --- /dev/null +++ b/plugin_test/plugins/http/__init__.py @@ -0,0 +1,2 @@ +def run(): + print("throw HTTP Plugin") \ No newline at end of file diff --git a/plugin_test/plugins/mysql/__init__.py b/plugin_test/plugins/mysql/__init__.py new file mode 100644 index 0000000..c61db52 --- /dev/null +++ b/plugin_test/plugins/mysql/__init__.py @@ -0,0 +1,2 @@ +def run(): + print("Throw MySql Plugin") \ No newline at end of file diff --git a/plugin_test/plugins/template/__init__.py b/plugin_test/plugins/template/__init__.py new file mode 100644 index 0000000..1f27ab2 --- /dev/null +++ b/plugin_test/plugins/template/__init__.py @@ -0,0 +1,2 @@ +def run(): + print("Throw template Plugin") \ No newline at end of file