def generate_corsica(config, logger):
    all_inflight_releases = get_releases(config, logger)
    corsica_data = {"releases": {}}
    for release in all_inflight_releases:
        branch = get_branch(release["version"], release["product"], logger)
        branch = branch.replace("-rc", "")
        human_tasks = {}
        current_build_index = get_current_build_index(release)
        for task in release["inflight"][current_build_index]["human_tasks"]:
            if task.get("alias"):
                human_tasks[task["alias"]] = task["resolved"]
        if not corsica_data["releases"].get(release["product"]):
            corsica_data["releases"][release["product"]] = {}
        corsica_data["releases"][release["product"]][branch] = {
            "buildnum": release["inflight"][current_build_index]["buildnum"],
            "version": release["version"].replace("rc", ""),
            "human_tasks": human_tasks
        }
    index_template = config['templates']["corsica"]["index"]

    env = Environment(loader=FileSystemLoader(config['templates_dir']),
                      undefined=StrictUndefined,
                      trim_blocks=True)

    template = env.get_template(index_template)
    return template.render(**corsica_data)
def get_release_info(product, version, logger, config):
    branch = get_branch(version, product, logger)
    release = Release(product=product, version=version, branch=branch)
    data_path, wiki_path = get_release_files(release, logger, config)
    logger.debug("release info: %s", release)
    logger.debug("data path: %s", data_path)
    logger.debug("wiki path: %s", wiki_path)
    return release, data_path, wiki_path