#!/usr/bin/env python3

import sys
from pathlib import Path


ROOT = Path(__file__).resolve().parent.parent
if str(ROOT) not in sys.path:
    sys.path.insert(0, str(ROOT))

from src.cli import format_error, format_json_error, main, wants_json  # noqa: E402
from src.errors import CdxError  # noqa: E402


if __name__ == "__main__":
    try:
        raise SystemExit(main(sys.argv[1:]))
    except CdxError as error:
        if wants_json(sys.argv[1:]):
            sys.stderr.write(f"{format_json_error(error)}\n")
        else:
            sys.stderr.write(f"{format_error(error)}\n")
        raise SystemExit(error.exit_code)
