aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src_py/opcut/main.py19
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)")