Source code for dran.main
# =========================================================================== #
# File: main.py #
# Author: Pfesesani V. van Zyl #
# Email: pfesi24@gmail.com #
# =>========================================================================= #
# Library imports
# --------------------------------------------------------------------------- #
import sys
from pathlib import Path
# Ensure repo root is on sys.path so "src.*" imports work regardless of CWD.
_ROOT = Path(__file__).resolve().parent
if str(_ROOT) not in sys.path:
sys.path.insert(0, str(_ROOT))
from dran.cli.parser import parse_args
from dran.cli.init_processes import run
# =========================================================================== #
[docs]
def main(argv: list[str] | None = None) -> int:
try:
args = parse_args(argv)
run(args)
return 0
except KeyboardInterrupt:
print("\nInterrupted.", file=sys.stderr)
return 130
except Exception as exc:
print(f"Fatal error: {exc}", file=sys.stderr)
return 1
if __name__ == "__main__":
sys.exit(main())