#!/usr/bin/env python3
"""Legt eine Route aus einer GPX-Datei an."""

import argparse
from collections.abc import Sequence

from common import add_common_arguments, ask, ask_path, client_from_args, run


def build_parser() -> argparse.ArgumentParser:
    parser = argparse.ArgumentParser(description="Neue Wegwichtel-Route anlegen")
    add_common_arguments(parser)
    parser.add_argument("--gpx")
    parser.add_argument("--name")
    parser.add_argument("--slug")
    parser.add_argument("--description")
    parser.add_argument("--school-name")
    return parser


def main(argv: Sequence[str] | None = None):
    args = build_parser().parse_args(argv)
    client = client_from_args(args)
    gpx = ask_path("GPX-Datei", args.gpx)
    fields = {
        "name": ask("Name (leer: GPX-Name)", args.name),
        "slug": ask("Slug (leer: automatisch)", args.slug),
        "description": ask("Beschreibung", args.description),
        "schoolName": ask("Schule", args.school_name),
    }
    return client.request("POST", "/api/routes", fields=fields, files={"gpx": gpx})


if __name__ == "__main__":
    run(main)
