aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-11-11 01:12:29 +0800
committerYuqian Yang <crupest@crupest.life>2025-01-20 22:54:25 +0800
commit907eff64f175822e1113887a8b547490dadf9687 (patch)
tree572b99b62ea2edd2f2f34389b7d36d091b862546 /tools
parent5c76a1257b4a058bf919af3e31cc9461a39c2f33 (diff)
downloadcrupest-907eff64f175822e1113887a8b547490dadf9687.tar.gz
crupest-907eff64f175822e1113887a8b547490dadf9687.tar.bz2
crupest-907eff64f175822e1113887a8b547490dadf9687.zip
HALF WORK: 2024.1.20 - 3
Diffstat (limited to 'tools')
-rw-r--r--tools/cru-py/cru/service/_base.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/tools/cru-py/cru/service/_base.py b/tools/cru-py/cru/service/_base.py
index 90e1f85..6f2a61a 100644
--- a/tools/cru-py/cru/service/_base.py
+++ b/tools/cru-py/cru/service/_base.py
@@ -235,8 +235,25 @@ class CommandDispatcher(AppFeatureProvider):
self._parsed_args: argparse.Namespace | None = None
def setup_arg_parser(self) -> None:
+ epilog = """
+==> to start,
+./tools/manage init
+./tools/manage config init
+ln -s generated/docker-compose.yaml .
+# Then edit config file.
+
+==> to update
+git pull
+./tools/manage template generate --no-dry-run
+docker compose up
+ """.strip()
+
self._map: dict[str, AppCommandFeatureProvider] = {}
- arg_parser = argparse.ArgumentParser(description="Service management")
+ arg_parser = argparse.ArgumentParser(
+ description="Service management",
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ epilog=epilog,
+ )
arg_parser.add_argument(
"--project-dir",
help="The path of the project directory.",
@@ -245,7 +262,6 @@ class CommandDispatcher(AppFeatureProvider):
)
subparsers = arg_parser.add_subparsers(
dest="command",
- required=True,
help="The management command to execute.",
metavar="COMMAND",
)
@@ -275,6 +291,9 @@ class CommandDispatcher(AppFeatureProvider):
def run_command(self, args: argparse.Namespace | None = None) -> None:
real_args = args or self.get_program_parsed_args()
+ if real_args.command is None:
+ self.arg_parser.print_help()
+ return
self.map[real_args.command].run_command(real_args)