#!/usr/bin/env python

import argparse

import rapidtide.workflows.parser_funcs as pf


def _get_parser():
    """
    Argument parser for testfileorfloat
    """
    parser = argparse.ArgumentParser(
        prog="testfileorfloat",
        description=("Test file or float parser function."),
        allow_abbrev=False,
    )

    # Required arguments
    parser.add_argument(
        "fixdelay",
        type=lambda x: pf.is_valid_file_or_float(parser, x),
        help="This needs to be an existing file or a valid float.",
    )

    return parser


def main(args):
    try:
        fixdelay = float(args.fixdelay)
        print(f"fixdelay is a float: {fixdelay}")
    except ValueError:
        print(f"{args.fixdelay} is a valid filename")


if __name__ == "__main__":
    pf.generic_init(_get_parser, main)
