]>
jfr.im git - irc/rizon/acid.git/blob - pyva/pyva/src/main/python/plugin.py
7931c401adb457a4cb3f3ac11e898a86b955275a
8 class AcidPlugin(object):
10 super(AcidPlugin
, self
).__init
__()
12 self
.prefix
= config
.get('control', 'prefix')
13 self
.logchan
= config
.get('control', 'channel')
14 self
.log
= logging
.getLogger(__name__
)
16 self
.dbp
= dbx
.cursor()
24 def getCommands(self
):
28 plugin_to_modname
= lambda x
: '%s.%s' % (x
, x
)
30 def loadPlugin(plugin
):
33 modname
= plugin_to_modname(plugin
)
35 mod
= importlib
.import_module(modname
)
36 obj
= getattr(mod
, plugin
)()
42 def unloadPlugin(plugin
):
45 modname
= plugin_to_modname(plugin
)
50 deps
= [module
for module
in sys
.modules
if module
.startswith(modname
+ '.')]
53 if modname
in sys
.modules
:
54 del sys
.modules
[modname
]
61 def call(name
, *args
):
64 for m
in modules
.itervalues():
66 func
= getattr(m
, name
)