From 9d5793be33dc28e401e0e5c5095d9a8c56a399f8 Mon Sep 17 00:00:00 2001 From: Richard Darst Date: Sat, 12 Sep 2009 02:14:29 +0000 Subject: Move extraConfig for process_meeting to inside __init__ - This means that we can use extraConfig to set writer_map (as well as other things that need to be set sooner). - extraConfig was originally added to aid in testing: you can use this to test different config options. darcs-hash:20090912021429-82ea9-8711fd18f0ed10b2241f492b911b1fc8f70401e5.gz --- (limited to 'meeting.py') diff --git a/meeting.py b/meeting.py index 68e964b..9150c1a 100644 --- a/meeting.py +++ b/meeting.py @@ -119,9 +119,13 @@ class Config(object): } - def __init__(self, M, writeRawLog=False, safeMode=False): + def __init__(self, M, writeRawLog=False, safeMode=False, + extraConfig={}): self.M = M self.writers = { } + # Update config values with anything we may have + for k,v in extraConfig.iteritems(): + setattr(self, k, v) if hasattr(self, "init_hook"): self.init_hook() @@ -417,8 +421,10 @@ class Meeting(MeetingCommands, object): def __init__(self, channel, owner, oldtopic=None, filename=None, writeRawLog=False, setTopic=None, sendReply=None, getRegistryValue=None, - safeMode=False): - self.config = Config(self, writeRawLog=writeRawLog, safeMode=safeMode) + safeMode=False, + extraConfig={}): + self.config = Config(self, writeRawLog=writeRawLog, safeMode=safeMode, + extraConfig=extraConfig) if getRegistryValue is not None: self._registryValue = getRegistryValue if sendReply is not None: @@ -543,12 +549,10 @@ def process_meeting(contents, channel, filename, dontSave=False, safeMode=True): M = Meeting(channel=channel, owner=None, - filename=filename, writeRawLog=False, safeMode=safeMode) + filename=filename, writeRawLog=False, safeMode=safeMode, + extraConfig=extraConfig) if dontSave: M.config.dontSave = True - # Update config values with anything we may have - for k,v in extraConfig.iteritems(): - setattr(M.config, k, v) # process all lines for line in contents.split('\n'): # match regular spoken lines: -- cgit v0.9.1