Parse wrapper CLI arguments.
17def parse_args() -> argparse.Namespace:
18 """!
19 @brief Parse wrapper CLI arguments.
20 @return Value returned by `parse_args()`.
21 """
22 parser = argparse.ArgumentParser(
23 description="Convert a legacy 1D-axis grid payload into canonical PICGRID format.",
24 formatter_class=argparse.RawDescriptionHelpFormatter,
25 epilog=(
26 "This wrapper delegates to: python3 scripts/grid.gen legacy1d ...\n\n"
27 "Examples:\n"
28 " python3 scripts/convert_grid_from_legacy_to_picgrid.py \\\n"
29 " --input legacy_flat.grid --output converted.picgrid\n"
30 " python3 scripts/convert_grid_from_legacy_to_picgrid.py \\\n"
31 " --input legacy_flat.grid --output converted.picgrid --axis-columns 0 1 2\n"
32 " python3 scripts/convert_grid_from_legacy_to_picgrid.py \\\n"
33 " --input legacy_flat.grid --output converted.picgrid --allow-trailing\n"
34 ),
35 )
36 parser.add_argument("--input", required=True, help="Path to legacy grid input file.")
37 parser.add_argument("--output", required=True, help="Path to converted PICGRID output file.")
38 parser.add_argument(
39 "--axis-columns",
40 type=int,
41 nargs=3,
42 default=[0, 1, 2],
43 metavar=("XCOL", "YCOL", "ZCOL"),
44 help="Preferred source column index for X/Y/Z axis rows (default: 0 1 2).",
45 )
46 parser.add_argument(
47 "--allow-trailing",
48 action="store_true",
49 help="Ignore trailing payload rows after expected legacy content.",
50 )
51 return parser.parse_args()
52
53