#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
migrate — Docker Service Migration Tool
Bootstrap: проверяет Python3 и запускает core/main.py
"""

import os
import sys
import subprocess
import shutil
import json
import textwrap

REQUIRED_PYTHON = (3, 8)


def check_python():
    if sys.version_info < REQUIRED_PYTHON:
        print("[FATAL] Нужен Python >= 3.8")
        sys.exit(1)


def find_project_root():
    script_dir = os.path.dirname(os.path.abspath(__file__))
    possible = [script_dir, os.path.join(script_dir, "docker-migrate")]
    for p in possible:
        core = os.path.join(p, "core", "main.py")
        if os.path.isfile(core):
            return p
    return None


def main():
    check_python()
    root = find_project_root()
    if not root:
        print("[FATAL] Не найдена папка проекта (core/main.py)")
        sys.exit(1)

    core_path = os.path.join(root)
    sys.path.insert(0, core_path)

    try:
        from core.main import main as core_main
    except ImportError as e:
        print(f"[FATAL] Не удалось загрузить ядро: {e}")
        sys.exit(1)

    core_main()


if __name__ == "__main__":
    main()
