Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/supybotconfig.py
diff options
context:
space:
mode:
authorRichard Darst <rkd@zgib.net>2009-07-31 18:02:53 (GMT)
committer Richard Darst <rkd@zgib.net>2009-07-31 18:02:53 (GMT)
commita232afc9558bf84502f3c5bfdd067bd301c5644e (patch)
treec5db8e179bd8f4cfaa5fb0978736cb74e6ba90ea /supybotconfig.py
parent69fe50a7fe72d4fe64c20a81b41c648b47de3e5f (diff)
Improve semantics of setting the supybot config proxy
- This no longer mucks with global variables as badly as before... darcs-hash:20090731180253-82ea9-c7a6c0a923353a81e3b8be45e366eb8fe1b3d8ee.gz
Diffstat (limited to 'supybotconfig.py')
-rw-r--r--supybotconfig.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/supybotconfig.py b/supybotconfig.py
index 537099d..bdbb68f 100644
--- a/supybotconfig.py
+++ b/supybotconfig.py
@@ -38,9 +38,6 @@ import supybot.registry as registry
import meeting
import writers
-OriginalConfig = meeting.Config
-
-
# The plugin group for configuration
MeetBotConfigGroup = conf.registerPlugin('MeetBot')
@@ -79,6 +76,7 @@ class WriterMap(registry.String):
class SupybotConfigProxy(object):
def __init__(self, *args, **kwargs):
"""Do the regular default configuration, and sta"""
+ OriginalConfig = self.__OriginalConfig
self.__C = OriginalConfig(*args, **kwargs)
def __getattr__(self, attrname):
@@ -115,12 +113,14 @@ class SupybotConfigProxy(object):
use_supybot_config = conf.registerGlobalValue(MeetBotConfigGroup,
'enableSupybotBasedConfig',
registry.Boolean(False, ''))
-#from fitz import interactnow
-if (use_supybot_config.value and
- not getattr(OriginalConfig, 'dontBotConfig', False)):
+def is_supybotconfig_enabled(OriginalConfig):
+ return (use_supybot_config.value and
+ not getattr(OriginalConfig, 'dontBotConfig', False))
+
+settable_attributes = [ ]
+def setup_config(OriginalConfig):
# Set all string variables in the default Config class as supybot
# registry variables.
- settable_attributes = [ ]
for attrname in dir(OriginalConfig):
# Don't configure attributs starting with '_'
if attrname[0] == '_':
@@ -145,8 +145,9 @@ if (use_supybot_config.value and
WriterMap(OriginalConfig.writer_map, ""))
settable_attributes.append('writer_map')
-
+def get_config_proxy(OriginalConfig):
# Here is where the real proxying occurs.
- meeting.Config = SupybotConfigProxy
+ SupybotConfigProxy._SupybotConfigProxy__OriginalConfig = OriginalConfig
+ return SupybotConfigProxy