From 0277a779c9dff841e04a08a5c39fe07faa92cfe8 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sun, 2 May 2010 20:28:17 +0200 Subject: Added modules --- curunir.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'curunir.py') diff --git a/curunir.py b/curunir.py index 7d14410..7f6a699 100644 --- a/curunir.py +++ b/curunir.py @@ -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() -- cgit v1.2.3