#!/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()