diff --git a/pyproject.toml b/pyproject.toml index b2ee5ba..e0ff708 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ dependencies = [ ] [project.scripts] -rproxy = "rproxy.__main__:start_reverse_proxy" +rproxy = "rproxy.__main__:main" [tool.hatch.version] path = "rproxy/__about__.py" diff --git a/rproxy/__main__.py b/rproxy/__main__.py index 82c8e9d..c9f563e 100755 --- a/rproxy/__main__.py +++ b/rproxy/__main__.py @@ -12,6 +12,7 @@ from rproxy.config import Config def usage() -> str: + prog = os.path.basename(sys.argv[0]) example = ( Path(importlib.util.find_spec("rproxy").origin).parent / "resources" @@ -24,19 +25,18 @@ def usage() -> str: ) -try: - with open(sys.argv[1]) as f: - config = Config(**yaml.safe_load(f)) - print(config) -except (FileNotFoundError, IndexError) as e: - prog = os.path.basename(sys.argv[0]) - print( - f"Error: missing config file argument. {e}.\n{usage()}", - file=sys.stderr, - ) - sys.exit(1) +def main() -> int: + try: + with open(sys.argv[1]) as f: + config = Config(**yaml.safe_load(f)) + except (FileNotFoundError, IndexError) as e: + print( + f"Error: missing config file argument. {e}.\n{usage()}", + file=sys.stderr, + ) + return 1 -try: - start_reverse_proxy(config) -except KeyboardInterrupt: - sys.exit(0) + try: + start_reverse_proxy(config) + except KeyboardInterrupt: + return 0