Beispiel #1
0
    def test_validate_bad_template(self):
        class BadTemplate(object):
            pass

        config = _root({})
        with self.assertRaises(confit.ConfigTemplateError):
            config.get(confit.OneOf([BadTemplate()]))
        del BadTemplate
Beispiel #2
0
 def test_validate_no_choice_in_list(self):
     config = _root({'foo': None})
     with self.assertRaises(confit.ConfigValueError):
         config['foo'].get(
             confit.OneOf([
                 confit.String(),
                 confit.Integer(),
             ]))
Beispiel #3
0
 def test_validate_first_good_choice_in_list(self):
     config = _root({'foo': 3.14})
     valid = config['foo'].get(
         confit.OneOf([
             confit.Integer(),
             confit.Number(),
         ]))
     self.assertEqual(valid, 3)
Beispiel #4
0
 def test_validate_good_choice_in_list(self):
     config = _root({'foo': 2})
     valid = config['foo'].get(
         confit.OneOf([
             confit.String(),
             confit.Integer(),
         ]))
     self.assertEqual(valid, 2)
Beispiel #5
0
 def test_default_value(self):
     config = _root({})
     valid = config['foo'].get(confit.OneOf([], default='bar'))
     self.assertEqual(valid, 'bar')
Beispiel #6
0
"""An example application using Confit for configuration."""
from __future__ import print_function
from __future__ import unicode_literals
import os
import confit
import argparse

template = {
    'library': confit.Filename(),
    'import_write': confit.OneOf([bool, 'true', 'false']),
    'ignore': confit.StrSeq(),
    'plugins': list,
    'paths': {
        'directory': confit.Filename(),
        'default': confit.Filename(relative_to='directory'),
    }
}

config = confit.LazyConfig(
    'ConfitExample',
    file="~/PycharmProjects/confit/example/config_default.yaml")


def main():
    parser = argparse.ArgumentParser(description='example Confit program')
    parser.add_argument('--library',
                        '-l',
                        dest='library',
                        metavar='LIBPATH',
                        help='library database file')
    parser.add_argument('--directory',