Пример #1
0
 def test_other_type_as_template(self):
     class MyClass(object):
         pass
     typ = confuse.as_template(MyClass)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, MyClass)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #2
0
 def inject_base_config(cls):
     """Inject default values from base config to allow player-specific overrides"""
     base_config = config['players'].get(Monitor.CONFIG_TEMPLATE)
     base_template = confuse.as_template(base_config)
     template = getattr(cls, 'CONFIG_TEMPLATE', {})
     updated = {**base_template.subtemplates, **template}
     cls.CONFIG_TEMPLATE = updated
Пример #3
0
    def test_other_type_as_template(self):
        class MyClass(object):
            pass

        typ = confuse.as_template(MyClass)
        self.assertIsInstance(typ, confuse.TypeTemplate)
        self.assertEqual(typ.typ, MyClass)
        self.assertEqual(typ.default, confuse.REQUIRED)
Пример #4
0
 def test_nested_dict_as_template(self):
     typ = confuse.as_template({'outer': {'inner': 2}})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'],
                           confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'].subtemplates['inner'],
                           confuse.Integer)
     self.assertEqual(
         typ.subtemplates['outer'].subtemplates['inner'].default, 2)
Пример #5
0
 def test_nested_dict_as_template(self):
     typ = confuse.as_template({'outer': {'inner': 2}})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'],
                           confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'].subtemplates['inner'],
                           confuse.Integer)
     self.assertEqual(typ.subtemplates['outer'].subtemplates['inner']
                      .default, 2)
Пример #6
0
def optional(optional_type, default=None):
    """Create a confuse-compatible type for optional values.

    Parameters
    ----------
    optional_type : type
        type of the optional value
    default : optional
        default value if not specified
    Returns
    -------
    template: type
        optional type template
    """
    template = confuse.as_template(optional_type)
    template.default = default
    return template
Пример #7
0
 def test_float_type_as_tempalte(self):
     typ = confuse.as_template(float)
     self.assertIsInstance(typ, confuse.Number)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #8
0
 def test_required_as_template(self):
     typ = confuse.as_template(confuse.REQUIRED)
     self.assertIs(type(typ), confuse.Template)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #9
0
 def test_concrete_string_as_template(self):
     typ = confuse.as_template('foo')
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, 'foo')
Пример #10
0
 def test_list_as_template(self):
     typ = confuse.as_template(list())
     self.assertIsInstance(typ, confuse.OneOf)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #11
0
 def test_dict_as_template(self):
     typ = confuse.as_template({'key': 9})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['key'], confuse.Integer)
     self.assertEqual(typ.subtemplates['key'].default, 9)
Пример #12
0
 def test_unicode_type_as_template(self):
     typ = confuse.as_template(unicode)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #13
0
 def test_plain_string_as_template(self):
     typ = confuse.as_template(str)
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #14
0
 def test_plain_int_as_template(self):
     typ = confuse.as_template(int)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #15
0
 def test_set_as_template(self):
     typ = confuse.as_template(set())
     self.assertIsInstance(typ, confuse.Choice)
Пример #16
0
 def test_list_as_template(self):
     typ = confuse.as_template(list())
     self.assertIsInstance(typ, confuse.OneOf)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #17
0
 def test_dict_as_template(self):
     typ = confuse.as_template({'key': 9})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['key'], confuse.Integer)
     self.assertEqual(typ.subtemplates['key'].default, 9)
Пример #18
0
 def test_basestring_as_template(self):
     typ = confuse.as_template(basestring)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #19
0
 def test_unicode_type_as_template(self):
     typ = confuse.as_template(unicode)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #20
0
 def test_list_type_as_template(self):
     typ = confuse.as_template(list)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Sequence)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #21
0
 def test_none_as_template(self):
     typ = confuse.as_template(None)
     self.assertIs(type(typ), confuse.Template)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #22
0
 def test_concrete_int_as_template(self):
     typ = confuse.as_template(2)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, 2)
Пример #23
0
 def test_dict_type_as_template(self):
     typ = confuse.as_template(dict)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Mapping)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #24
0
 def test_concrete_string_as_template(self):
     typ = confuse.as_template('foo')
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, 'foo')
Пример #25
0
 def test_list_type_as_template(self):
     typ = confuse.as_template(list)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Sequence)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #26
0
 def test_basestring_as_template(self):
     typ = confuse.as_template(basestring)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #27
0
 def test_set_type_as_template(self):
     typ = confuse.as_template(set)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, set)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #28
0
 def test_enum_type_as_template(self):
     typ = confuse.as_template(enum.Enum)
     self.assertIsInstance(typ, confuse.Choice)
Пример #29
0
 def test_concrete_float_as_template(self):
     typ = confuse.as_template(2.)
     self.assertIsInstance(typ, confuse.Number)
     self.assertEqual(typ.default, 2.)
Пример #30
0
 def test_set_as_template(self):
     typ = confuse.as_template(set())
     self.assertIsInstance(typ, confuse.Choice)
Пример #31
0
 def test_enum_type_as_template(self):
     typ = confuse.as_template(enum.Enum)
     self.assertIsInstance(typ, confuse.Choice)
Пример #32
0
 def test_float_type_as_tempalte(self):
     typ = confuse.as_template(float)
     self.assertIsInstance(typ, confuse.Number)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #33
0
 def test_plain_int_as_template(self):
     typ = confuse.as_template(int)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #34
0
 def test_none_as_template(self):
     typ = confuse.as_template(None)
     self.assertIs(type(typ), confuse.Template)
     self.assertEqual(typ.default, None)
Пример #35
0
 def test_concrete_int_as_template(self):
     typ = confuse.as_template(2)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, 2)
Пример #36
0
 def test_set_type_as_template(self):
     typ = confuse.as_template(set)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, set)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #37
0
 def test_plain_string_as_template(self):
     typ = confuse.as_template(str)
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #38
0
 def test_dict_type_as_template(self):
     typ = confuse.as_template(dict)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Mapping)
     self.assertEqual(typ.default, confuse.REQUIRED)
Пример #39
0
def optional(type, default=None):
    template = confuse.as_template(type)
    template.default = default
    return template