4 import micng.pluginbase.base_plugin as bp
6 class PluginMgr(object):
7 def __init__(self, dirlist = []):
8 self.plugin_place = ["/usr/lib/micng/plugins"] + dirlist
11 def loadPlugins(self):
12 for pdir in map(os.path.abspath, self.plugin_place):
13 for pitem in os.walk(pdir):
14 sys.path.append(pitem[0])
16 if not pf.endswith(".py"):
19 pmod = __import__(os.path.splitext(pf)[0])
20 if hasattr(pmod, "mic_plugin"):
21 pname, pcls = pmod.mic_plugin
23 if hasattr(pcls, "plugin_type"):
24 if pcls.plugin_type not in self.plugins.keys():
25 self.plugins[pcls.plugin_type] = [ptmp]
27 self.plugins[pcls.plugin_type].append(ptmp)
29 def getPluginByCateg(self, categ = None):
33 return self.plugins[categ]