diff options
Diffstat (limited to 'curunir.py')
-rw-r--r-- | curunir.py | 20 |
1 files changed, 18 insertions, 2 deletions
@@ -3,6 +3,18 @@ from connection.xmpp import XMPPConnection import signal, sys from config import config +class ModuleManager: + def __init__(self, config): + self.config = config + self.modules = [] + + for mod in config['modules']: + self.load(mod) + + def load(self, name): + mod = __import__('modules.' + name, globals(), locals(), ['Module']) + self.modules.append(mod.Module(self)) + run = True def exithandler(signum, frame): @@ -13,10 +25,14 @@ signal.signal(signal.SIGINT, exithandler) signal.signal(signal.SIGTERM, exithandler) signal.signal(signal.SIGQUIT, exithandler) -connection = XMPPConnection(config) +modman = ModuleManager(config) + +connection = XMPPConnection(config, modman) connection.connect() while run: - connection.stream.loop_iter(1) + act = connection.stream.loop_iter(1) + if not act: + connection.idle() connection.disconnect() |