forked from logicalgamers/framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPluginAPI.py
More file actions
39 lines (29 loc) · 1.14 KB
/
PluginAPI.py
File metadata and controls
39 lines (29 loc) · 1.14 KB
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
class PluginAPI():
def __init__(self, PluginFramework):
self.PluginFramework = PluginFramework
def reload_all_plugins(self):
self.PluginFramework.reload_all_plugins()
def reload_plugin(self, plugin_name):
self.PluginFramework.reload_plugin(plugin_name)
def get_plugins(self, namesOnly=False):
if namesOnly:
Plugins = self.PluginFramework.get_plugins()
Plugins_names = []
for Plugin in Plugins:
Plugins_names.append(Plugin.__dict__['plugin_name'])
return Plugins_names
return self.PluginFramework.get_plugins()
def get_plugin(self, plugin_name):
try:
for Plugin in self.get_plugins():
if(Plugin.__dict__['plugin_name'] == plugin_name):
return Plugin
except Exception, ex:
return ex
def run_plugin(self, plugin_name):
self.get_plugin(plugin_name).run()
def plugin_exists(self, plugin_name):
for Plugin in self.get_plugins():
if(Plugin.__dict__['plugin_name'] == plugin_name):
return True
return False