aboutsummaryrefslogtreecommitdiff
path: root/dodai/config/option.py
blob: 0561881139a3219e827a308986c52a88d8c2f921 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Copyright (C) 2010  Leonard Thomas
#
# This file is part of Dodai.
#
# Dodai is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Dodai is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Dodai.  If not, see <http://www.gnu.org/licenses/>.


from optparse import OptionParser

class ConfigOption(object):

    def __init__(self):

        self.parser = OptionParser()
        self._options = None
        self._args = []

    def get_args(self):
        self._parse_args()
        return self._args

    def get_options(self):
        self._parse_args()
        return self._options

    def _parse_args(self):
        options, args = self.parser.parse_args()
        self._options = options
        self._args = args

    def add_quiet(self):

        self.parser.add_option("-q", "--quiet", dest="verbose", default=True,
                action="store_false",
                help="Don't print status messages to the screen")

    def add_verbose(self):
        self.parser.add_option("-v", "--verbose", dest="verbose",
                action="store_true",
                default=False, help="Print status messages to the screen")

    def add_log_level(self, default='critical'):
        self.parser.add_option("-l", "--log-level", dest="log_level",
                default=default, help="Sets the log level")

    def add_setup(self):
        self.parser.add_option('', "--setup", dest="setup",
                               action="store_true", default=False,
                               help="run the setup which builds the config "\
                                    "files.")