Mercurial > babel > old > babel-test
diff babel/messages/frontend.py @ 524:4a5340c0821b stable-0.9.x
merge r573, r575 from trunk to 0.9 branch
author | fschwarz |
---|---|
date | Sat, 05 Mar 2011 14:58:58 +0000 |
parents | b29ff192b610 |
children |
line wrap: on
line diff
--- a/babel/messages/frontend.py +++ b/babel/messages/frontend.py @@ -626,15 +626,7 @@ options, args = self.parser.parse_args(argv[1:]) - # Configure logging - self.log = logging.getLogger('babel') - self.log.setLevel(options.loglevel) - handler = logging.StreamHandler() - handler.setLevel(options.loglevel) - formatter = logging.Formatter('%(message)s') - handler.setFormatter(formatter) - self.log.addHandler(handler) - + self._configure_logging(options.loglevel) if options.list_locales: identifiers = localedata.list() longest = max([len(identifier) for identifier in identifiers]) @@ -658,6 +650,21 @@ return getattr(self, cmdname)(args[1:]) + def _configure_logging(self, loglevel): + self.log = logging.getLogger('babel') + self.log.setLevel(loglevel) + # Don't add a new handler for every instance initialization (#227), this + # would cause duplicated output when the CommandLineInterface as an + # normal Python class. + if self.log.handlers: + handler = self.log.handlers[0] + else: + handler = logging.StreamHandler() + self.log.addHandler(handler) + handler.setLevel(loglevel) + formatter = logging.Formatter('%(message)s') + handler.setFormatter(formatter) + def _help(self): print self.parser.format_help() print "commands:"