def parse_arguments()

in extractors/remcos/remcos_configuration_extractor.py [0:0]


def parse_arguments():
    """
    Parse command line arguments.

    :return: Parsed command line arguments
    """
    parser = argparse.ArgumentParser()

    subparser = parser.add_subparsers(
        description="Unpack/Repack mode", required=True, dest="mode"
    )
    unpack_parser = subparser.add_parser("unpack")
    repack_parser = subparser.add_parser("repack")

    unpack_group = unpack_parser.add_mutually_exclusive_group(required=True)
    unpack_group.add_argument("-f", "--file", type=pathlib.Path, help="Input file path")
    unpack_group.add_argument(
        "-d", "--directory", type=pathlib.Path, help="Input directory path"
    )

    repack_parser.add_argument(
        "-i", "--input", type=pathlib.Path, required=True, help="Input file path"
    )
    repack_parser.add_argument(
        "-o", "--output", type=pathlib.Path, required=True, help="Output file path"
    )

    return parser.parse_args()