#! /usr/bin/python3 -sP
#    Upload antenna positions from local file to remote telescope
# Copyright (c) Tim Molteno 2017-2021.

import argparse
import json

from tart_tools.api_handler import AuthorizedAPIhandler

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="Upload antenna positions from local file to remote telescope",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter,
    )
    parser.add_argument(
        "--api",
        required=False,
        default="https://tart.elec.ac.nz/signal",
        help="Telescope API server URL.",
    )
    parser.add_argument("--pw", default="password", type=str, help="API password")
    parser.add_argument("--file", type=str, required=True, help="local file to upload")

    ARGS = parser.parse_args()

    with open(ARGS.file, "r") as f:
        data = f.read()
    positions_dict = json.loads(data)
    if "antenna_positions" in positions_dict:
        api = AuthorizedAPIhandler(ARGS.api, ARGS.pw)
        resp = api.post_payload_with_token(
            "calibration/antenna_positions", positions_dict["antenna_positions"]
        )
        print("SUCCESS")
    else:
        raise Exception("JSON file should have an element called 'antenna_positions'")
