~bzr/loggerhead/daily-ppa

« back to all changes in this revision

Viewing changes to loggerhead/config.py

  • Committer: Max Bowsher
  • Date: 2011-03-17 08:34:53 UTC
  • Revision ID: maxb@f2s.com-20110317083453-4vdmnvv8too0bmtf
Revert several files to their trunk version, fixing drastic mis-merging.

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
    parser.add_option("--protocol", dest="protocol",
50
50
                      help=("Protocol to use: http, scgi, fcgi, ajp"
51
51
                           "(defaults to http)."))
 
52
    parser.add_option("--log-level", default=None, action='callback',
 
53
                      callback=_optparse_level_to_int_level,
 
54
                      type="string",
 
55
                      help="Set the verbosity of logging. Can either"
 
56
                           " be set to a numeric or string"
 
57
                           " (eg, 10=debug, 30=warning)")
52
58
    parser.add_option("--memory-profile", action="store_true",
53
59
                      help="Profile the memory usage using Dozer.")
54
60
    parser.add_option("--prefix", dest="user_prefix",
72
78
    return parser
73
79
 
74
80
 
 
81
_log_levels = {
 
82
    'debug': 10,
 
83
    'info': 20,
 
84
    'warning': 30,
 
85
    'error': 40,
 
86
    'critical': 50,
 
87
}
 
88
 
 
89
def _optparse_level_to_int_level(option, opt_str, value, parser):
 
90
    parser.values.log_level = _level_to_int_level(value)
 
91
 
 
92
 
 
93
def _level_to_int_level(value):
 
94
    """Convert a string level to an integer value."""
 
95
    if value is None:
 
96
        return None
 
97
    try:
 
98
        return int(value)
 
99
    except ValueError:
 
100
        pass
 
101
    return _log_levels[value.lower()]
 
102
 
 
103
 
75
104
class LoggerheadConfig(object):
76
105
    """A configuration object."""
77
106
 
99
128
        else:
100
129
            return cmd_config
101
130
 
 
131
    def get_log_level(self):
 
132
        opt = self.get_option('log_level')
 
133
        return _level_to_int_level(opt)
 
134
 
102
135
    def get_arg(self, index):
103
136
        """Get an arg from the arg list."""
104
137
        return self._args[index]