(arg_list: list[str] | None)
| 1009 | |
| 1010 | |
| 1011 | def _parse_args(arg_list: list[str] | None): |
| 1012 | import argparse |
| 1013 | parser = argparse.ArgumentParser( |
| 1014 | formatter_class=argparse.RawTextHelpFormatter, color=True) |
| 1015 | group = parser.add_mutually_exclusive_group() |
| 1016 | group.add_argument( |
| 1017 | "-c", "--choice", nargs="+", |
| 1018 | help="print a random choice") |
| 1019 | group.add_argument( |
| 1020 | "-i", "--integer", type=int, metavar="N", |
| 1021 | help="print a random integer between 1 and N inclusive") |
| 1022 | group.add_argument( |
| 1023 | "-f", "--float", type=float, metavar="N", |
| 1024 | help="print a random floating-point number between 0 and N inclusive") |
| 1025 | group.add_argument( |
| 1026 | "--test", type=int, const=10_000, nargs="?", |
| 1027 | help=argparse.SUPPRESS) |
| 1028 | parser.add_argument("input", nargs="*", |
| 1029 | help="""\ |
| 1030 | if no options given, output depends on the input |
| 1031 | string or multiple: same as --choice |
| 1032 | integer: same as --integer |
| 1033 | float: same as --float""") |
| 1034 | args = parser.parse_args(arg_list) |
| 1035 | return args, parser.format_help() |
| 1036 | |
| 1037 | |
| 1038 | def main(arg_list: list[str] | None = None) -> int | str: |
no test coverage detected