#!/usr/bin/env python3 """Lädt ein Bild zu einem POI hoch.""" 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="Bild zu einem POI hochladen") add_common_arguments(parser) parser.add_argument("--route-id", type=int) parser.add_argument("--poi-id", type=int) parser.add_argument("--file") parser.add_argument("--caption") parser.add_argument("--sequence", type=int) return parser def main(argv: Sequence[str] | None = None): args = build_parser().parse_args(argv) client = client_from_args(args) route_id = ask("Route-ID", args.route_id, required=True, cast=int) poi_id = ask("POI-ID", args.poi_id, required=True, cast=int) picture = ask_path("Bilddatei", args.file) fields = { "caption": ask("Bildbeschreibung", args.caption), "sequence": ask("Reihenfolge (leer: automatisch)", args.sequence, cast=int), } return client.request( "POST", f"/api/routes/{route_id}/pois/{poi_id}/pictures", fields=fields, files={"picture": picture}, ) if __name__ == "__main__": run(main)