#!/usr/bin/env python3

import sys
import os


# 定义自定义导入异常，方便用户识别错误来源
class CaoImportError(Exception):
    pass


# 尝试导入main函数
def import_main():
    """尝试多种方式导入main函数"""
    # 方法1: 从已安装的包导入(pip/Homebrew安装方式)
    try:
        # 不触发编辑器的导入错误提示
        cao_module = __import__("zhouatie_cao")
        return cao_module.main
    except ImportError:
        # 方法2: 从项目结构导入(开发环境)
        try:
            script_dir = os.path.dirname(os.path.realpath(__file__))
            project_dir = os.path.dirname(script_dir)
            sys.path.insert(0, project_dir)
            from src.zhouatie_cao.main import main

            return main
        except ImportError as e:
            raise CaoImportError(
                f"无法导入cao模块: {e}\n请确保已正确安装zhouatie-cao或当前在正确的项目目录中"
            )


# 获取main函数并执行
if __name__ == "__main__":
    try:
        main_function = import_main()
        main_function()
    except CaoImportError as e:
        print(f"错误: {e}")
        sys.exit(1)
