def _merge_dictionaries()

in dask-fargate/binderhub/binderhub_config.py [0:0]


def _merge_dictionaries(a, b):
    """Merge two dictionaries recursively.
    Simplified From https://stackoverflow.com/a/7205107
    """
    merged = a.copy()
    for key in b:
        if key in a:
            if isinstance(a[key], Mapping) and isinstance(b[key], Mapping):
                merged[key] = _merge_dictionaries(a[key], b[key])
            else:
                merged[key] = b[key]
        else:
            merged[key] = b[key]
    return merged