#!/usr/bin/env python
#    Upload antenna positions from local file to remote telescope
#    Tim Molteno 2017 - tim@elec.ac.nz

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'")
