#!/usr/bin/env python3

import argparse
from lrgasp import handle_prog_errors, prog_error_excepts
from lrgasp import entry_validate
from lrgasp import loggingOps

def parse_args():
    desc = """Validate that an LRGASP entry metadata and data

    Use --logDebug when reporting a problem.
    """
    parser = argparse.ArgumentParser(description=desc)
    loggingOps.addCmdOptions(parser)
    parser.add_argument("--metadata_only", action="store_true",
                        help="check entry and experiment metadata, skipping data to speed up initial checking")
    parser.add_argument("entry_dir",
                        help="entry directory")
    return parser.parse_args()

def main(args):
    loggingOps.setupFromCmd(args)
    try:
        if args.metadata_only:
            entry_validate.entry_metadata_validate(args.entry_dir)
        else:
            entry_validate.entry_data_validate(args.entry_dir)
    except prog_error_excepts as ex:
        handle_prog_errors(ex)

main(parse_args())
