Chromium Code Reviews| Index: client/utils/tools.py |
| diff --git a/client/utils/tools.py b/client/utils/tools.py |
| index 4bdfe4433646b5d9eb33c0fcc6cbe80bf550fed0..48c0572de127ea0c589e4f48990bcaa6681ec53b 100644 |
| --- a/client/utils/tools.py |
| +++ b/client/utils/tools.py |
| @@ -4,14 +4,11 @@ |
| """Various utility functions and classes not specific to any single area.""" |
| -import argparse |
| import atexit |
| import cStringIO |
| import functools |
| import json |
| import logging |
| -import logging.handlers |
| -import optparse |
|
fdeng
2015/08/17 02:24:05
auth.py refer to tools.optparse. auth.py in ToT se
Vadim Sh.
2015/08/17 17:44:34
It was fixed 17 days ago: https://github.com/luci/
|
| import os |
| import re |
| import sys |
| @@ -33,127 +30,6 @@ _caches = [] |
| _caches_lock = threading.Lock() |
| -class OptionParserWithLogging(optparse.OptionParser): |
| - """Adds --verbose option.""" |
| - |
| - # Set to True to enable --log-file options. |
| - enable_log_file = True |
| - |
| - def __init__(self, verbose=0, log_file=None, **kwargs): |
| - kwargs.setdefault('description', sys.modules['__main__'].__doc__) |
| - optparse.OptionParser.__init__(self, **kwargs) |
| - self.group_logging = optparse.OptionGroup(self, 'Logging') |
| - self.group_logging.add_option( |
| - '-v', '--verbose', |
| - action='count', |
| - default=verbose, |
| - help='Use multiple times to increase verbosity') |
| - if self.enable_log_file: |
| - self.group_logging.add_option( |
| - '-l', '--log-file', |
| - default=log_file, |
| - help='The name of the file to store rotating log details') |
| - self.group_logging.add_option( |
| - '--no-log', action='store_const', const='', dest='log_file', |
| - help='Disable log file') |
| - |
| - def parse_args(self, *args, **kwargs): |
| - # Make sure this group is always the last one. |
| - self.add_option_group(self.group_logging) |
| - |
| - options, args = optparse.OptionParser.parse_args(self, *args, **kwargs) |
| - levels = [logging.ERROR, logging.INFO, logging.DEBUG] |
| - level = levels[min(len(levels) - 1, options.verbose)] |
| - |
| - logging_console = logging.StreamHandler() |
| - logging_console.setFormatter(logging.Formatter( |
| - '%(levelname)5s %(relativeCreated)6d %(module)15s(%(lineno)3d): ' |
| - '%(message)s')) |
| - logging_console.setLevel(level) |
| - logging.getLogger().setLevel(level) |
| - logging.getLogger().addHandler(logging_console) |
| - |
| - if self.enable_log_file and options.log_file: |
| - # This is necessary otherwise attached handler will miss the messages. |
| - logging.getLogger().setLevel(logging.DEBUG) |
| - |
| - logging_rotating_file = logging.handlers.RotatingFileHandler( |
| - options.log_file, |
| - maxBytes=10 * 1024 * 1024, |
| - backupCount=5, |
| - encoding='utf-8') |
| - # log files are always at DEBUG level. |
| - logging_rotating_file.setLevel(logging.DEBUG) |
| - logging_rotating_file.setFormatter(logging.Formatter( |
| - '%(asctime)s %(levelname)-8s %(module)15s(%(lineno)3d): %(message)s')) |
| - logging.getLogger().addHandler(logging_rotating_file) |
| - |
| - return options, args |
| - |
| - |
| -class ArgumentParserWithLogging(argparse.ArgumentParser): |
| - """Adds --verbose option.""" |
| - |
| - # Set to True to enable --log-file options. |
| - enable_log_file = True |
| - |
| - def __init__(self, verbose=0, log_file=None, **kwargs): |
| - kwargs.setdefault('description', sys.modules['__main__'].__doc__) |
| - kwargs.setdefault('conflict_handler', 'resolve') |
| - self.__verbose = verbose |
| - self.__log_file = log_file |
| - super(ArgumentParserWithLogging, self).__init__(**kwargs) |
| - |
| - def _add_logging_group(self): |
| - group = self.add_argument_group('Logging') |
| - group.add_argument( |
| - '-v', '--verbose', |
| - action='count', |
| - default=self.__verbose, |
| - help='Use multiple times to increase verbosity') |
| - if self.enable_log_file: |
| - group.add_argument( |
| - '-l', '--log-file', |
| - default=self.__log_file, |
| - help='The name of the file to store rotating log details') |
| - group.add_argument( |
| - '--no-log', action='store_const', const='', dest='log_file', |
| - help='Disable log file') |
| - |
| - def parse_args(self, *args, **kwargs): |
| - # Make sure this group is always the last one. |
| - self._add_logging_group() |
| - |
| - args = super(ArgumentParserWithLogging, self).parse_args(*args, **kwargs) |
| - levels = [logging.ERROR, logging.INFO, logging.DEBUG] |
| - level = levels[min(len(levels) - 1, args.verbose)] |
| - |
| - logging_console = logging.StreamHandler() |
| - logging_console.setFormatter(logging.Formatter( |
| - '%(levelname)5s %(relativeCreated)6d %(module)15s(%(lineno)3d): ' |
| - '%(message)s')) |
| - logging_console.setLevel(level) |
| - logging.getLogger().setLevel(level) |
| - logging.getLogger().addHandler(logging_console) |
| - |
| - if self.enable_log_file and args.log_file: |
| - # This is necessary otherwise attached handler will miss the messages. |
| - logging.getLogger().setLevel(logging.DEBUG) |
| - |
| - logging_rotating_file = logging.handlers.RotatingFileHandler( |
| - args.log_file, |
| - maxBytes=10 * 1024 * 1024, |
| - backupCount=5, |
| - encoding='utf-8') |
| - # log files are always at DEBUG level. |
| - logging_rotating_file.setLevel(logging.DEBUG) |
| - logging_rotating_file.setFormatter(logging.Formatter( |
| - '%(asctime)s %(levelname)-8s %(module)15s(%(lineno)3d): %(message)s')) |
| - logging.getLogger().addHandler(logging_rotating_file) |
| - |
| - return args |
| - |
| - |
| class Profiler(object): |
| """Context manager that records time spend inside its body.""" |
| def __init__(self, name): |