Combine the analysis in ES with the analysis defined in Python. The one in
    Python takes precedence

def combined_analysis(using):
    """
    Combine the analysis in ES with the analysis defined in Python. The one in
    Python takes precedence
    """
    python_analysis = collect_analysis(using)
    es_analysis = existing_analysis(using)
    if es_analysis == DOES_NOT_EXIST:
        return python_analysis

    # we want to ensure everything defined in Python land is added, or
    # overrides the things defined in ES
    for section in python_analysis:
        if section not in es_analysis:
            es_analysis[section] = python_analysis[section]

        subdict_python = python_analysis[section]
        subdict_es = es_analysis[section]
        for name in subdict_python:
            subdict_es[name] = subdict_python[name]

    return es_analysis