|
@@ -43,14 +43,17 @@ def dict_merge(a, b, overwrite_lists=True):
|
|
|
for k, v in b.iteritems():
|
|
|
if k in result:
|
|
|
if isinstance(result[k], dict):
|
|
|
- result[k] = dict_merge(result[k], v)
|
|
|
+ result[k] = dict_merge(result[k], v,
|
|
|
+ overwrite_lists=overwrite_lists)
|
|
|
continue
|
|
|
|
|
|
if isinstance(result[k], list):
|
|
|
if overwrite_lists:
|
|
|
result[k] = [deepcopy(x) for x in v]
|
|
|
else:
|
|
|
- result[k] = [deepcopy(x) for x in v if x not in result[k]]
|
|
|
+ for x in v:
|
|
|
+ if x not in result[k]:
|
|
|
+ result[k].append(deepcopy(x))
|
|
|
continue
|
|
|
|
|
|
result[k] = deepcopy(v)
|