From a4f5138d41bee1562743e645cf937c24fcec36ea Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 15:43:32 +1000 Subject: parser: print help when no args Also create utility script for testing --- run.sh | 11 +++++++++++ src/caelestia/__init__.py | 6 +++--- src/caelestia/parser.py | 4 ++-- 3 files changed, 16 insertions(+), 5 deletions(-) create mode 100755 run.sh diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..9734996 --- /dev/null +++ b/run.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env sh + +# Utility script for rebuilding and running caelestia + +cd $(dirname $0) || exit + +sudo rm -r dist /usr/bin/caelestia /usr/lib/python3.*/site-packages/caelestia* 2> /dev/null +python -m build --wheel --no-isolation > /dev/null +sudo python -m installer --destdir=/ dist/*.whl > /dev/null + +/usr/bin/caelestia "$@" diff --git a/src/caelestia/__init__.py b/src/caelestia/__init__.py index 074c1b9..71c9b62 100644 --- a/src/caelestia/__init__.py +++ b/src/caelestia/__init__.py @@ -2,12 +2,12 @@ from caelestia.parser import parse_args def main() -> None: - args = parse_args() + parser, args = parse_args() if "cls" in args: args.cls(args).run() else: - import sys - print("No arguments given", file=sys.stderr) + parser.print_help() + if __name__ == "__main__": main() diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index db45645..00556b0 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -16,7 +16,7 @@ from caelestia.subcommands import ( ) -def parse_args() -> argparse.Namespace: +def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): parser = argparse.ArgumentParser(prog="caelestia", description="Main control script for the Caelestia dotfiles") # Add subcommand parsers @@ -122,4 +122,4 @@ def parse_args() -> argparse.Namespace: pip_parser.set_defaults(cls=pip.Command) pip_parser.add_argument("-d", "--daemon", action="store_true", help="start the daemon") - return parser.parse_args() + return parser, parser.parse_args() -- cgit v1.2.3-freya