Passed
Push — master ( 969640...b3caf6 )
by Fabio
01:22
created

benedict.core.merge._merge_dict()   A

Complexity

Conditions 2

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 2
nop 2
1
# -*- coding: utf-8 -*-
2
3
from benedict.utils import type_util
4
5
6
def _merge_dict(d, other):
7
    for key, value in other.items():
8
        _merge_item(d, key, value)
9
10
11
def _merge_item(d, key, value):
12
    item = d.get(key, None)
13
    if type_util.is_dict(item) and type_util.is_dict(value):
14
        _merge_dict(item, value)
15
    else:
16
        d[key] = value
17
18
19
def merge(d, other, *args):
20
    others = [other] + list(args)
21
    for other in others:
22
        _merge_dict(d, other)
23
    return d
24