in dusty/tools/dict.py [0:0]
def recursive_merge_existing(dict_a, dict_b):
""" Merge dictionaries recursively (only already existing dicts) """
result = dict()
for key in set(list(dict_a.keys()) + list(dict_b.keys())):
if key not in dict_a:
if isinstance(dict_b[key], dict):
continue
result[key] = dict_b[key]
elif key not in dict_b:
result[key] = dict_a[key]
elif isinstance(dict_a[key], dict) and isinstance(dict_b[key], dict):
result[key] = recursive_merge_existing(dict_a[key], dict_b[key])
else:
if isinstance(dict_a[key], bool) and not isinstance(dict_b[key], bool) and \
not dict_a[key]:
continue
result[key] = dict_b[key]
return result