#!/usr/bin/env python3

"""
Download SCREAM input files using CIME
"""

from utils import check_minimum_python_version
check_minimum_python_version(3, 4)

import argparse, sys, pathlib

from check_input import check_input

###############################################################################
def parse_command_line(args, description):
###############################################################################
    parser = argparse.ArgumentParser(
        usage="""\n{0} <input_root> <tgt_dir> <file> [<file>]
OR
{0} --help

\033[1mEXAMPLES:\033[0m
    \033[1;32m# Check input file /my/input/root/my/file, download it if needed\033[0m
    > {0} /my/input/root my/file
""".format(pathlib.Path(args[0]).name),
        description=description,
        formatter_class=argparse.ArgumentDefaultsHelpFormatter
    )

    parser.add_argument("input_root", help="The root input area (called DIN_LOC_ROOT in CIME)")

    parser.add_argument("files", nargs="+", help="Files to download, use relative paths from input_root")

    return parser.parse_args(args[1:])

###############################################################################
def _main_func(description):
###############################################################################
    success = check_input(**vars(parse_command_line(sys.argv, description)))
    sys.exit(0 if success else 1)

###############################################################################

if (__name__ == "__main__"):
    _main_func(__doc__)
