#!/usr/bin/env python3
import subprocess
import sys
from pathlib import Path

_DIR = Path(__file__).parent
_PROGRAM_DIR = _DIR.parent
_VENV_DIR = _PROGRAM_DIR / ".venv"
_MODULE_DIR = _PROGRAM_DIR / "linux_voice_assistant"
_TEST_DIRS = _PROGRAM_DIR / "tests"
_TEST_RCFILE = _TEST_DIRS / ".pylintrc"

if _VENV_DIR.exists():
    python_exe = str(_VENV_DIR / "bin" / "python3")
else:
    python_exe = "python3"

auto_fix = "--auto" in sys.argv

failed = False

try:
    subprocess.check_call([python_exe, "-m", "pylint", str(_MODULE_DIR)])
except subprocess.CalledProcessError:
    failed = True

try:
    subprocess.check_call(
        [python_exe, "-m", "pylint", str(_TEST_DIRS), "--rcfile", str(_TEST_RCFILE)]
    )
except subprocess.CalledProcessError:
    failed = True

if failed:
    sys.exit(1)
