import PyInstaller.__main__
import yaml


def read_config(config_path):
    """读取配置文件"""
    try:
        with open(config_path, "r") as f:
            config = yaml.safe_load(f)
            return config
    except FileNotFoundError:
        print(f"配置文件 {config_path} 不存在！")
        exit(1)
    except yaml.YAMLError as e:
        print(f"读取配置文件 {config_path} 失败：{e}")
        exit(1)


# 从配置文件读取版本号
config = read_config("tools/config.yaml")
version = config.get("version", "1.0.0")

PyInstaller.__main__.run([
    'main.py',  # 你的主脚本文件名
    '--onefile',  # 打包成一个单独的可执行文件
    # '--windowed',  # 不显示控制台窗口
    '--icon=icon.ico',  # 可选：指定图标文件
    f'--name=GuiCoupon_{version}',  # 指定生成的可执行文件的名称，包含版本号
    '--clean',  # 清理临时文件
    '--log-level=DEBUG',  # 设置日志级别为 DEBUG 以便于调试
    '--debug=all',  # 生成调试信息
    '--hidden-import=tkinter',  # 显式指定需要包含的模块
    '--add-data=icon.ico:.',  # 添加图标文件
    '--add-data=tools/config.yaml:tools',  # 添加资源文件到tools文件夹
    '--add-data=Redis-x64-5.0.14.1.msi:.',  # 添加资源文件
])
