def _process_arguments()

in src/hpcadvisor/__main__.py [0:0]


def _process_arguments():
    parent_parser = argparse.ArgumentParser(add_help=False)
    parent_parser.add_argument(
        "-d", "--debug", action="store_true", help="Enable debug mode"
    )

    parser = argparse.ArgumentParser(
        prog="hpcadvisor", formatter_class=CustomHelpFormatter, parents=[parent_parser]
    )
    subparsers = parser.add_subparsers(
        dest="command", help="Commands to run", required=True
    )

    deploy = subparsers.add_parser("deploy", help="Deployment help")
    deploy.add_argument("operation", type=str)
    deploy.add_argument("-n", "--name", help="Deployment name", required=False)
    deploy.add_argument("-u", "--userinput", help="User input", required=False)
    deploy.add_argument(
        "-dp",
        "--deletepools",
        help="Delete Pools only",
        required=False,
        action="store_true",
    )
    deploy.add_argument(
        "-dj",
        "--deletejobs",
        help="Delete Jobs only",
        required=False,
        action="store_true",
    )

    deploy.set_defaults(func=deployment_handler)

    collect = subparsers.add_parser("collect", help="Data collection help")
    collect.add_argument("-n", "--name", help="Deployment name", required=True)
    collect.add_argument("-u", "--userinput", help="User input", required=True)
    collect.add_argument(
        "-cd", "--cleardeployment", help="Clear deployment", required=False
    )
    collect.add_argument(
        "-ct", "--cleartasks", help="Clear tasks", required=False, action="store_true"
    )
    collect.add_argument(
        "-kp", "--keeppools", help="Keep pools", required=False, action="store_true"
    )
    collect.add_argument(
        "-rp", "--reusepools", help="Reuse pools", required=False, action="store_true"
    )
    collect.set_defaults(func=collect_handler)

    plot = subparsers.add_parser("plot", help="Plot generator help")
    plot.add_argument("-df", "--datafilter", help="Data filter", required=True)
    plot.add_argument(
        "-t", "--showtable", help="Show data table", required=False, action="store_true"
    )
    plot.add_argument(
        "-ae",
        "--appexectime",
        help="Use app defined exectime",
        required=False,
        action="store_true",
    )
    plot.add_argument("-st", "--subtitle", help="Plot sub title", required=False)
    plot.set_defaults(func=plot_handler)

    advice = subparsers.add_parser("advice", help="Advice generator help")
    advice.add_argument("-n", "--name", help="Deployment name", required=False)
    advice.add_argument("-df", "--datafilter", help="Data filter", required=False)
    advice.add_argument(
        "-ae",
        "--appexectime",
        help="Use app defined exectime",
        required=False,
        action="store_true",
    )
    advice.set_defaults(func=advice_handler)

    gui = subparsers.add_parser("gui", help="GUI mode help")
    gui.add_argument("-u", "--userinput", help="User input", required=False)
    gui.set_defaults(func=gui_handler)

    selecttask = subparsers.add_parser("selecttask", help="Task Selector help")
    selecttask.add_argument("operation", type=str)
    selecttask.add_argument("-u", "--userinput", help="User input", required=False)
    selecttask.add_argument("-tf", "--taskfile", help="Taskfile", required=True)
    selecttask.add_argument(
        "-p", "--policy", help="Task selector policy", required=False
    )
    selecttask.add_argument("-n", "--numtasks", help="Number of tasks", required=False)
    selecttask.set_defaults(func=selecttask_handler)

    dataset = subparsers.add_parser("dataset", help="Dataset handler help")
    dataset.add_argument("operation", type=str)
    dataset.add_argument(
        "-i", "--input", help="Data filter | New datapoints", required=False
    )
    dataset.add_argument("-o", "--output", help="Filtered file", required=False)
    dataset.set_defaults(func=dataset_handler)

    args = parser.parse_args()

    debug = args.debug
    if debug:
        logger.setup_debug_mode()

    args.func(args)