From 1adbee226e64dabe85e5775e62865b6a42096c04 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Sat, 6 Mar 2010 15:56:03 +0000 Subject: [PATCH] Added checks for tuples in dictConfig. --- Lib/logging/config.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Lib/logging/config.py b/Lib/logging/config.py index 7a2188f2425..21e10c14f57 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -474,6 +474,12 @@ class BaseConfigurator(object): setattr(result, name, value) return result + def as_tuple(self, value): + """Utility function which converts lists to tuples.""" + if isinstance(value, list): + value = tuple(value) + return value + class DictConfigurator(BaseConfigurator): """ Configure logging using a dictionary-like object to describe the @@ -688,6 +694,12 @@ class DictConfigurator(BaseConfigurator): except StandardError, e: raise ValueError('Unable to set target handler ' '%r: %s' % (config['target'], e)) + elif issubclass(klass, logging.handlers.SMTPHandler) and\ + 'mailhost' in config: + config['mailhost'] = self.as_tuple(config['mailhost']) + elif issubclass(klass, logging.handlers.SysLogHandler) and\ + 'address' in config: + config['address'] = self.as_tuple(config['address']) factory = klass kwargs = dict([(k, config[k]) for k in config if valid_ident(k)]) try: