# -*- mode: python ; coding: utf-8 -*-
import sys
from pathlib import Path
sys.path.insert(0, str((Path("__name__").parent)))
from tempfile import  NamedTemporaryFile
from version_info import version

temp_version_file=Path("version.tmp")
temp_version_file.write_text(
f"""# UTF-8 encoding
# UTF-8
#
# Fields to define the version info for a Windows executable
VSVersionInfo(
    ffi=FixedFileInfo(
        filevers=({version.replace(".",",")}),       # 文件版本号
        prodvers=({version.replace(".",",")}),       # 产品版本号
        mask=0x3f,
        flags=0x0,
        OS=0x40004,
        fileType=0x1,
        subtype=0x0,
        date=(0, 0)
        ),
    kids=[
        StringFileInfo(
        [
        StringTable(
            u'040904B0',
            [StringStruct(u'CompanyName', u'Realtek Semiconductor Corp.'),
            StringStruct(u'FileDescription', u'Flash Tool for Realtek Ameba SoCs'),
            StringStruct(u'FileVersion', u'{version}'),
            StringStruct(u'InternalName', u'flash.exe'),
            StringStruct(u'LegalCopyright', u'Copyright (c) 2025 Realtek Semiconductor Corp.'),
            StringStruct(u'OriginalFilename', u'flash.exe'),
            StringStruct(u'ProductName', u'Ameba Flash Tool'),
            StringStruct(u'ProductVersion', u'{version}')])
        ]),
        VarFileInfo([VarStruct(u'Translation', [1033, 1200])])
    ]
)
""",encoding='utf-8')


a = Analysis(
    ['flash.py'],
    pathex=[],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=0,
)
pyz = PYZ(a.pure)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.datas,
    [],
    name='flash',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    version=temp_version_file.name,
)
os.remove(temp_version_file.name)
