#!/usr/bin/python3

import sys
import os
import argparse

for root, dirs, _ in os.walk("/usr/lib/python3/dist-packages"):
    for dir_name in dirs:
        if dir_name.startswith("kare"):
            sys.path.append(os.path.join(root, dir_name))

from migration.migration_assistant import MigrationAssistant


def main():
    parser = argparse.ArgumentParser(
        prog="build-migration",
        description="kare 换机迁移构建工具",
        usage="build-migration [--offline | --custom]",
    )
    group = parser.add_mutually_exclusive_group()
    group.add_argument(
        "--offline", action="store_true",
        help="离线换机：以 /ostree/kylin-migration 目录作为迁移源（保持原逻辑不变）",
    )
    group.add_argument(
        "--custom", action="store_true",
        help="厂商定制镜像换机：以 /opt/kare-applications/base/kylin-migration.tar.gz 压缩包作为迁移源，并替换 kare 的 v10sp1 base",
    )
    args = parser.parse_args()

    # 未显式指定模式时默认走离线逻辑，保持向后兼容
    if not args.offline and not args.custom:
        print("build-migration: 未指定模式，默认使用 --offline（离线换机）")

    mode = "custom" if args.custom else "offline"
    MigrationAssistant(mode=mode)


if __name__ == "__main__":
    main()
