Exemplo n.º 1
0
def _fetch_apps_file(config):
    rf = RepoFile.from_config(config["appsFile"])
    commit, content = rf.fetch()
    log.info(
        "loading commit '%s' of %s repo %s/%s at path '%s' for apps config",
        commit,
        rf.host,
        rf.org,
        rf.repo,
        rf.path,
    )
    fetched_apps = yaml.safe_load(content)

    if "apps" not in fetched_apps:
        raise FatalError("fetched apps file has no 'apps' key")

    app_names = [a["name"] for a in fetched_apps["apps"]]
    dupes = get_dupes(app_names)
    if dupes:
        raise FatalError("duplicate app names found in fetched apps file: {dupes}")

    return {a["name"]: a for a in fetched_apps["apps"]}
Exemplo n.º 2
0
def _parse_apps_in_cfg(config):
    app_names = [a["name"] for a in config["apps"]]
    dupes = get_dupes(app_names)
    if dupes:
        raise ValueError("duplicate app names found in config: {dupes}")
    return {a["name"]: a for a in config["apps"]}