def __init__(self, server, name): super(IrcChannel, self).__init__(server, name) self.nicks = {} signals.add_first('server name reply', self._namelist) signals.add_first('server name complete', self._synchronized) signals.add_first('server topic', self._topic) signals.add_first('server topic_by', self._topic_by) signals.add_first('event mode', self._mode) signals.add_first('event nick', self._nick_change) signals.add('command names', self._names)
else: logger.info("Loading %s from %s" % (name, path)) modules[path] = imp.load_source(name, path) def unload_plugin(path): name = _get_name(path) if path in modules: logger.info("Unloading %s" % name) signals.unbind_module(modules[path]) del modules[path] def reload_plugin(path): unload_plugin(path) load_plugin(path) def command(args): argsplit = args.split(' ') cmd = argsplit[0] path = ' '.join(argsplit[1:]) if cmd == 'load': load_plugin(path) elif cmd == 'reload': reload_plugin(path) elif cmd == 'unload': unload_plugin(path) elif cmd == 'list': for module in modules: logger.info(module) signals.add("command plugin", command)