From c6facc99f3f929460d9edcf3f3c477728a2e6bb3 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 6 Jul 2011 11:14:58 +0200 Subject: [PATCH] In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63. --- plugins/Config/test.py | 5 ++++- src/registry.py | 2 +- src/version.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/Config/test.py b/plugins/Config/test.py index 49130b08e..f59646683 100644 --- a/plugins/Config/test.py +++ b/plugins/Config/test.py @@ -34,7 +34,7 @@ import supybot.conf as conf class ConfigTestCase(ChannelPluginTestCase): # We add utilities so there's something in supybot.plugins. - plugins = ('Config', 'Utilities') + plugins = ('Config', 'Utilities', 'AutoMode') def testGet(self): self.assertNotRegexp('config get supybot.reply', r'registry\.Group') self.assertResponse('config supybot.protocols.irc.throttleTime', '0.0') @@ -49,6 +49,9 @@ class ConfigTestCase(ChannelPluginTestCase): def testHelp(self): self.assertError('config help alsdkfj') self.assertError('config help supybot.alsdkfj') + self.assertNotRegexp('config list supybot', '.*alsdkfj.*') + self.assertError('config help supybot.plugins.AutoMode.ban.alsdkfj') + self.assertNotRegexp('config list supybot.plugins.AutoMode.ban', '.*alsdkfj.*') self.assertNotError('config help supybot') # We tell the user to list. self.assertNotError('config help supybot.plugins') self.assertNotError('config help supybot.replies.success') diff --git a/src/registry.py b/src/registry.py index 9850ec9b0..e8a6c340b 100644 --- a/src/registry.py +++ b/src/registry.py @@ -206,7 +206,7 @@ class Group(object): def __getattr__(self, attr): if attr in self._children: return self._children[attr] - elif self._supplyDefault: + elif self._supplyDefault and attr.startswith('#'): return self.__makeChild(attr, str(self)) else: self.__nonExistentEntry(attr) diff --git a/src/version.py b/src/version.py index 56a1e893a..90ff96f6f 100644 --- a/src/version.py +++ b/src/version.py @@ -1,3 +1,3 @@ """stick the various versioning attributes in here, so we only have to change them once.""" -version = '0.83.4.1+limnoria (2011-07-03T17:09:53+0200)' +version = '0.83.4.1+limnoria (2011-07-06T11:14:57+0200)'