コード例 #1
0
def test_smart_merge_nested():
    a = {'a': 1, 'b': {'c': 4}}
    b = {'b': {'c': 5, 'd': 9}}
    c = utils.smart_merge(a, b)
    assert (c['a'] == 1)
    assert (c['b']['c'] == 5)
    assert (c['b']['d'] == 9)
コード例 #2
0
def test_smart_merge_add():
    a = {'a': [1], 'b': 8}
    b = {'a': [2]}
    c = utils.smart_merge(a, b, merge_keys=['a'])
    assert (len(c['a']) == 2)
    assert (1 in c['a'])
    assert (2 in c['a'])
コード例 #3
0
def test_smart_merge_none():
    a = {'a': 1, 'b': 8, 'c': 5}
    b = {'c': None, 'd': None}
    c = utils.smart_merge(a, b, overwrite_with_none=True)
    assert (c['c'] is None)
    assert (c['d'] is None)
コード例 #4
0
def test_smart_merge_not_none():
    a = {'a': 1, 'b': 8}
    b = {'a': None, 'c': 9}
    c = utils.smart_merge(a, b, merge_keys=['a'])
    assert (c['a'] == 1)
    assert (c['c'] == 9)
コード例 #5
0
def test_smart_merge_same():
    a = {'a': 3, 'b': 8}
    b = {'a': 3}
    c = utils.smart_merge(a, b)
    assert (c['a'] == 3)
    assert (c['b'] == 8)
コード例 #6
0
def test_smart_merge():
    a = {'a': 5, 'b': 8}
    b = {'a': 10}
    c = utils.smart_merge(a, b)
    assert (c['a'] == 10)
    assert (c['b'] == 8)
コード例 #7
0
def get_settings(query_args):
    d = {}
    smart_merge(d, DEFAULT_SETTINGS)
    smart_merge(d, args_to_dict(query_args, schema=VizRelaySchema()))

    return ArgSchemaParser(input_data=d, schema_type=VizRelaySchema, args=[])
コード例 #8
0
def add_defaults(args):
    smart_merge(DEFAULT_SETTINGS, args)