def main()

in utils/taskcluster_downloader.py [0:0]


def main() -> None:
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--output",
        metavar="OUTPUT",
        type=str,
        help="Output directory to save logs. Defaults to the data directory.",
    )
    parser.add_argument(
        "--task-group-id",
        metavar="TASK_GROUP_ID",
        required=True,
        type=str,
        help="ID of a Taskcluster task group",
    )
    parser.add_argument(
        "--mode",
        metavar="MODE",
        type=Mode,
        choices=Mode,
        required=True,
        help="What to download: " + ", ".join([m.name for m in Mode]),
    )

    args = parser.parse_args()
    group_id: str = args.task_group_id
    mode: Mode = args.mode

    output: str
    if args.output:
        output = args.output
    else:
        output = os.path.join(DATA_DIR, f"taskcluster-{mode.value}")

    if mode == Mode.logs:
        download_logs(group_id, output)
    elif mode == Mode.evals:
        donwload_evals(group_id, output)
    elif mode == Mode.model:
        download_model(group_id, output)