aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Aufrecht <joel@prevail.io>2022-12-25 16:35:27 -0800
committerbozo.kopic <bozo@kopic.xyz>2022-12-26 19:43:44 +0100
commit4c6fe8691bbce3ccf253ed6ff464866bbb4465a9 (patch)
tree582b772aa68e9f98d66294cd5e11d77ee2bd78d3
parentac0999209787686e3828bdeed04f38019c37f304 (diff)
Add more help text to command line, including showing more help if run with no arguments
-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)")