~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/config.py

  • Committer: Ian Clatworthy
  • Date: 2010-04-13 08:49:48 UTC
  • mfrom: (401.2.12 sphinxify)
  • Revision ID: ian.clatworthy@canonical.com-20100413084948-ugxqaocz85vd0pyd
Convert docs to Sphinx format and put into a docs directory

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)")
58
52
    parser.add_option("--memory-profile", action="store_true",
59
53
                      help="Profile the memory usage using Dozer.")
60
54
    parser.add_option("--prefix", dest="user_prefix",
78
72
    return parser
79
73
 
80
74
 
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
 
 
104
75
class LoggerheadConfig(object):
105
76
    """A configuration object."""
106
77
 
116
87
        self.SQL_DIR = sql_dir
117
88
 
118
89
    def get_option(self, option):
119
 
        """Get the value for the config option, either
 
90
        """Get the value for the config option, either 
120
91
        from ~/.bazaar/bazaar.conf or from the command line.
121
92
        All loggerhead-specific settings start with 'http_'
122
93
        """
128
99
        else:
129
100
            return cmd_config
130
101
 
131
 
    def get_log_level(self):
132
 
        opt = self.get_option('log_level')
133
 
        return _level_to_int_level(opt)
134
 
 
135
102
    def get_arg(self, index):
136
103
        """Get an arg from the arg list."""
137
104
        return self._args[index]