diff options
| -rw-r--r-- | src_py/opcut/main.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src_py/opcut/main.py b/src_py/opcut/main.py index 346afc3..4907abd 100644 --- a/src_py/opcut/main.py +++ b/src_py/opcut/main.py @@ -20,13 +20,18 @@ result_schema_id: str = 'opcut://opcut.yaml#/definitions/result' def create_argument_parser() -> argparse.ArgumentParser: - parser = argparse.ArgumentParser() - subparsers = parser.add_subparsers(dest='action') + parser = argparse.ArgumentParser( + description='cutting stock problem optimizer with web interface', + epilog='For more options, run "%(prog)s <action> --help"') + subparsers = parser.add_subparsers(dest='action', + required=True) def enum_values(enum_cls): return ', '.join(str(i.value) for i in enum_cls) - calculate = subparsers.add_parser('calculate') + calculate = subparsers.add_parser( + 'calculate', + help='Outputs the optimal stock cuts as a text file.') calculate.add_argument( '--method', metavar='METHOD', type=common.Method, default=common.Method.FORWARD_GREEDY, @@ -44,7 +49,9 @@ def create_argument_parser() -> argparse.ArgumentParser: 'params', type=Path, default=Path('-'), nargs='?', help=f"input params file path or - for stdin ({params_schema_id})") - generate = subparsers.add_parser('generate') + generate = subparsers.add_parser( + 'generate', + help='Renders a cut list as an image file.') generate.add_argument( '--input-format', metavar='FORMAT', type=json.Format, default=None, help=f"input result format ({enum_values(json.Format)})") @@ -62,7 +69,9 @@ def create_argument_parser() -> argparse.ArgumentParser: 'result', type=Path, default=Path('-'), nargs='?', help=f"input result file path or - for stdin ({result_schema_id})") - server = subparsers.add_parser('server') + server = subparsers.add_parser( + 'server', + help='Run a web server with user interface') server.add_argument( '--host', metavar='HOST', default='0.0.0.0', help="listening host name (default 0.0.0.0)") |
