def _merge(specific, default):
    """
    Recursively merges two yaml produced data structures,
    a more specific input (`specific`) and defaults
    (`default`).
    """
    if isinstance(specific, dict) and isinstance(default, dict):
        for k, v in default.iteritems():
            if k not in specific:
                specific[k] = v
            else:
                specific[k] = _merge(specific[k], v)
    return specific
dataset/ETHPy150Open chapmanb/cloudbiolinux/installed_files/ec2autorun.py/_merge/original