Example #1
0
 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)
Example #2
0
    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)