aboutsummaryrefslogtreecommitdiff
path: root/examples/example_01.py
blob: 7915e5fd407c814da271802b3bf89e73542158cb (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
62
63
64
65
66
67
68
69
#!/usr/bin/env python
# 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/>.


##############################################################################
# The following is for setting up the correct python path.  Ignore this
# section for your project
import sys
import os.path as p
path = p.dirname(p.dirname(p.abspath(__file__)))
sys.path.append(path)
##############################################################################

from dodai.config import Config

def main(config):

    config.log.debug('testing one two three')
    config.log.critical('testing of critical')
    print config.__dict__



if __name__ == "__main__":

    config = Config()
    config.options().add_quiet()
    config.options().add_log_level()
    config.options().parser.add_option('-c', '--crazy', dest='crazy',
            default=False, help="Crazy mode")
    config.set('crazy', config.options().get_options().crazy)
    config.set('verbose', config.options().get_options().verbose)


    path = p.join(p.dirname(p.abspath(__file__)), 'logs')
    config.logs().set_directory(path)
    config.logs().set_log_level(config.options().get_options().log_level)
    log = config.logs().load(__file__)
    config.logs().attach_file_handler(log, 'example.log')
    config.logs().attach_screen_handler(log, 'critical')
    config.set('log', log)


    path = p.join(p.dirname(p.abspath(__file__)), 'config')
    config.files().set_directory(path)
    config.files().load('config.cfg')
    foo = config.files().parser().get('title', 'foo')
    config.set('foo', foo)





    main(config())