From f663e6f6908a9dfb05ac22e867e726c1bf6f0960 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:41:05 +1000 Subject: internal: refactor for packaging Package using python-build, python-installer and hatch --- src/caelestia/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/caelestia/__init__.py (limited to 'src/caelestia/__init__.py') diff --git a/src/caelestia/__init__.py b/src/caelestia/__init__.py new file mode 100644 index 0000000..1d56fcc --- /dev/null +++ b/src/caelestia/__init__.py @@ -0,0 +1,9 @@ +from caelestia.parser import parse_args + + +def main() -> None: + args = parse_args() + args.cls(args).run() + +if __name__ == "__main__": + main() -- cgit v1.2.3-freya From 6543c9505befc2129fe6bec66b2e7829a5be6b9e Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:48:49 +1000 Subject: parser: fix error when no args --- src/caelestia/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/caelestia/__init__.py') diff --git a/src/caelestia/__init__.py b/src/caelestia/__init__.py index 1d56fcc..074c1b9 100644 --- a/src/caelestia/__init__.py +++ b/src/caelestia/__init__.py @@ -3,7 +3,11 @@ from caelestia.parser import parse_args def main() -> None: args = parse_args() - args.cls(args).run() + if "cls" in args: + args.cls(args).run() + else: + import sys + print("No arguments given", file=sys.stderr) if __name__ == "__main__": main() -- cgit v1.2.3-freya 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 (limited to 'src/caelestia/__init__.py') 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