summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xrun.sh11
-rw-r--r--src/caelestia/__init__.py6
-rw-r--r--src/caelestia/parser.py4
3 files changed, 16 insertions, 5 deletions
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()