Пример #1
0
def sort_required_keys(schema):
    for key, value in iteritems(schema):
        if key == "required" and isinstance(value, list) and all(isinstance(v, string_types) for v in value):
            value.sort()
        elif isinstance(value, dict):
            sort_required_keys(value)
        elif isinstance(value, collections.Iterable):
            for v in value:
                if isinstance(v, dict):
                    sort_required_keys(v)
Пример #2
0
Файл: util.py Проект: sseg/jsl
def sort_required_keys(schema):
    for key, value in iteritems(schema):
        if (key == 'required' and isinstance(value, list)
                and all(isinstance(v, string_types) for v in value)):
            value.sort()
        elif isinstance(value, dict):
            sort_required_keys(value)
        elif isinstance(value, collections.Iterable):
            for v in value:
                if isinstance(v, dict):
                    sort_required_keys(v)
Пример #3
0
def test_collect_fields_and_options():
    with mock.patch.object(DocumentMeta,
                           'options_container',
                           wraps=OptionsStub):

        class ParentOne(Document):
            a = fields.StringField()
            b = fields.IntField()
            c = fields.NumberField()

            class Options(object):
                a = 1
                b = 1
                c = 1

        class ParentTwo(Document):
            b = fields.DictField()

            class Options:
                b = 2
                d = 2

    bases = (ParentTwo, ParentOne)
    attrs = {
        'c': fields.BooleanField(),
        'd': fields.BooleanField(),
    }

    fields_dict = DocumentMeta.collect_fields(bases, attrs)
    assert fields_dict == {
        'a': ParentOne.a,
        'b': ParentTwo.b,
        'c': attrs['c'],
        'd': attrs['d'],
    }

    options_dict = DocumentMeta.collect_options(bases, attrs)
    for expected_key, expected_value in iteritems({
            'a': 1,
            'b': 2,
            'c': 1,
            'd': 2
    }):
        assert options_dict[expected_key] == expected_value
Пример #4
0
def test_collect_fields_and_options():
    with mock.patch.object(DocumentMeta, 'options_container', wraps=OptionsStub):
        class ParentOne(Document):
            a = fields.StringField()
            b = fields.IntField()
            c = fields.NumberField()

            class Options(object):
                a = 1
                b = 1
                c = 1

        class ParentTwo(Document):
            b = fields.DictField()

            class Options:
                b = 2
                d = 2

    bases = (ParentTwo, ParentOne)
    attrs = {
        'c': fields.BooleanField(),
        'd': fields.BooleanField(),
    }

    fields_dict = DocumentMeta.collect_fields(bases, attrs)
    assert fields_dict == {
        'a': ParentOne.a,
        'b': ParentTwo.b,
        'c': attrs['c'],
        'd': attrs['d'],
    }

    options_dict = DocumentMeta.collect_options(bases, attrs)
    for expected_key, expected_value in iteritems({
        'a': 1,
        'b': 2,
        'c': 1,
        'd': 2
    }):
        assert options_dict[expected_key] == expected_value
Пример #5
0
def sort_required_keys(schema):
    for key, value in iteritems(schema):
        if key == 'required' and isinstance(value, list):
            value.sort()
        elif isinstance(value, dict):
            sort_required_keys(value)
Пример #6
0
def sort_required_keys(schema):
    for key, value in iteritems(schema):
        if key == 'required' and isinstance(value, list):
            value.sort()
        elif isinstance(value, dict):
            sort_required_keys(value)