#!/usr/bin/env python3

import surfex
import argparse
import sys


def parse_args_merge_qc_data(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument("-i", type=str, nargs="+", dest="filenames", help="Input QC JSON files", required=True)
    parser.add_argument("-t", dest="validtime", help="Validtime (YYYYMMDDHH)", required=True)
    parser.add_argument("--indent", type=int, help="Indent in output", default=None)
    parser.add_argument("-o", type=str, dest="output", help="Output file", required=True)

    if len(argv) == 0:
        parser.print_help()
        sys.exit(1)

    return parser.parse_args(argv)


def merge_qc_data(args):
    an_time = args.validtime
    filenames = args.filenames
    output = args.output
    indent = args.indent

    qc_data = surfex.merge_json_qc_data_sets(an_time, filenames)
    qc_data.write_output(output, indent=indent)


if __name__ == "__main__":
    my_args = parse_args_merge_qc_data(sys.argv[1:])
    merge_qc_data(my_args)

