#!/usr/bin/env python3
from pathlib import Path
import importlib.metadata
import sys
import tomllib

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

try:
    package_version = importlib.metadata.version("baska")
except importlib.metadata.PackageNotFoundError:
    try:
        with (ROOT / "pyproject.toml").open("rb") as fh:
            package_version = str(tomllib.load(fh)["project"]["version"])
    except Exception:
        package_version = None

if package_version:
    try:
        import baska_core_v2
        baska_core_v2.VERSION = package_version
    except Exception:
        pass

from baska_help import COMMANDS, show_help

args = sys.argv[1:]

if args in (["--help"], ["-h"], ["help"]):
    show_help()
    raise SystemExit(0)

if args and args[0] == "help":
    show_help(args[1] if len(args) > 1 else None)
    raise SystemExit(0)

if len(args) >= 2 and args[0] in COMMANDS and args[1] in ("--help", "-h"):
    show_help(args[0])
    raise SystemExit(0)

if args and args[0] in ("upgrade", "self-update"):
    from baska_self_update import cli
    raise SystemExit(cli(args[1:]))

from baska_tui_v2 import main

if __name__ == "__main__":
    main()
