diff --git a/package.py b/package.py index 633bea6..242b675 100644 --- a/package.py +++ b/package.py @@ -28,23 +28,39 @@ v4.1 import os import json -os.system( - "pyinstaller -F --version-file res/AUTO_MAA_info.txt -w --icon=res/AUTO_MAA.ico AUTO_MAA.py --hidden-import plyer.platforms.win.notification" -) -os.system( - "pyinstaller -F --version-file res/Updater_info.txt -w --icon=res/AUTO_MAA.ico Updater.py" -) + +def version_text(version_numb): + """将版本号列表转为可读的文本信息""" + if version_numb[3] == 0: + version = f"v{'.'.join(str(_) for _ in version_numb[0:3])}" + elif version_numb[3] == 1: + version = f"v{'.'.join(str(_) for _ in version_numb[0:3])}_beta" + return version + + with open("res/version.json", "r", encoding="utf-8") as f: version = json.load(f) -main_version = list(map(int, version["main_version"].split("."))) -updater_version = list(map(int, version["updater_version"].split("."))) -if main_version[3] == 0: - main_version = f"v{'.'.join(str(_) for _ in main_version[0:3])}" -elif main_version[3] == 1: - main_version = f"v{'.'.join(str(_) for _ in main_version[0:3])}_beta" -if updater_version[3] == 0: - updater_version = f"v{'.'.join(str(_) for _ in updater_version[0:3])}" -elif updater_version[3] == 1: - updater_version = f"v{'.'.join(str(_) for _ in updater_version[0:3])}_beta" + +main_version_numb = list(map(int, version["main_version"].split("."))) +updater_version_numb = list(map(int, version["updater_version"].split("."))) + +main_info = f"# UTF-8\n#\nVSVersionInfo(\n ffi=FixedFileInfo(\n # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)\n # Set not needed items to zero 0.\n filevers=({', '.join(str(_) for _ in main_version_numb)}),\n prodvers=(0, 0, 0, 0),\n # Contains a bitmask that specifies the valid bits 'flags'r\n mask=0x3f,\n # Contains a bitmask that specifies the Boolean attributes of the file.\n flags=0x0,\n # The operating system for which this file was designed.\n # 0x4 - NT and there is no need to change it.\n OS=0x4,\n # The general type of file.\n # 0x1 - the file is an application.\n fileType=0x1,\n # The function of the file.\n # 0x0 - the function is not defined for this fileType\n subtype=0x0,\n # Creation date and time stamp.\n date=(0, 0)\n ),\n kids=[\n VarFileInfo([VarStruct('Translation', [0, 1200])]), \n StringFileInfo(\n [\n StringTable(\n '000004b0',\n [StringStruct('Comments', 'https://github.com/DLmaster361/AUTO_MAA/'),\n StringStruct('CompanyName', 'AUTO_MAA Team'),\n StringStruct('FileDescription', 'AUTO_MAA Component'),\n StringStruct('FileVersion', '{version["main_version"]}'),\n StringStruct('InternalName', 'AUTO_MAA'),\n StringStruct('LegalCopyright', 'Copyright © 2024 DLmaster361'),\n StringStruct('OriginalFilename', 'AUTO_MAA.py'),\n StringStruct('ProductName', 'AUTO_MAA'),\n StringStruct('ProductVersion', 'v{version["main_version"]}'),\n StringStruct('Assembly Version', 'v{version["main_version"]}')])\n ])\n ]\n)" +updater_info = f"# UTF-8\n#\nVSVersionInfo(\n ffi=FixedFileInfo(\n # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)\n # Set not needed items to zero 0.\n filevers=({', '.join(str(_) for _ in updater_version_numb)}),\n prodvers=(0, 0, 0, 0),\n # Contains a bitmask that specifies the valid bits 'flags'r\n mask=0x3f,\n # Contains a bitmask that specifies the Boolean attributes of the file.\n flags=0x0,\n # The operating system for which this file was designed.\n # 0x4 - NT and there is no need to change it.\n OS=0x4,\n # The general type of file.\n # 0x1 - the file is an application.\n fileType=0x1,\n # The function of the file.\n # 0x0 - the function is not defined for this fileType\n subtype=0x0,\n # Creation date and time stamp.\n date=(0, 0)\n ),\n kids=[\n VarFileInfo([VarStruct('Translation', [0, 1200])]), \n StringFileInfo(\n [\n StringTable(\n '000004b0',\n [StringStruct('Comments', 'https://github.com/DLmaster361/AUTO_MAA/'),\n StringStruct('CompanyName', 'AUTO_MAA Team'),\n StringStruct('FileDescription', 'AUTO_MAA Component'),\n StringStruct('FileVersion', '{version["updater_version"]}'),\n StringStruct('InternalName', 'AUTO_MAA_Updater'),\n StringStruct('LegalCopyright', 'Copyright © 2024 DLmaster361'),\n StringStruct('OriginalFilename', 'Updater.py'),\n StringStruct('ProductName', 'AUTO_MAA_Updater'),\n StringStruct('ProductVersion', 'v{version["updater_version"]}'),\n StringStruct('Assembly Version', 'v{version["updater_version"]}')])\n ])\n ]\n)" + +with open("AUTO_MAA_info.txt", "w", encoding="utf-8") as f: + print(main_info, end="", file=f) +with open("Updater_info.txt", "w", encoding="utf-8") as f: + print(updater_info, end="", file=f) +""" +os.system( + "pyinstaller -F --version-file AUTO_MAA_info.txt -w --icon=res/AUTO_MAA.ico AUTO_MAA.py --hidden-import plyer.platforms.win.notification" +) +os.system( + "pyinstaller -F --version-file Updater_info.txt -w --icon=res/AUTO_MAA.ico Updater.py" +) +""" with open("update_info.txt", "w", encoding="utf-8") as f: - print(f"{main_version}\n{updater_version}\n{version["announcement"]}", file=f) + print( + f"{version_text(main_version_numb)}\n{version_text(updater_version_numb)}{version["announcement"]}", + file=f, + ) diff --git a/res/AUTO_MAA_info.txt b/res/AUTO_MAA_info.txt deleted file mode 100644 index 75eb12a..0000000 --- a/res/AUTO_MAA_info.txt +++ /dev/null @@ -1,43 +0,0 @@ -# UTF-8 -# -VSVersionInfo( - ffi=FixedFileInfo( - # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4) - # Set not needed items to zero 0. - filevers=(4, 1, 1, 1), - prodvers=(0, 0, 0, 0), - # Contains a bitmask that specifies the valid bits 'flags'r - mask=0x3f, - # Contains a bitmask that specifies the Boolean attributes of the file. - flags=0x0, - # The operating system for which this file was designed. - # 0x4 - NT and there is no need to change it. - OS=0x4, - # The general type of file. - # 0x1 - the file is an application. - fileType=0x1, - # The function of the file. - # 0x0 - the function is not defined for this fileType - subtype=0x0, - # Creation date and time stamp. - date=(0, 0) - ), - kids=[ - VarFileInfo([VarStruct('Translation', [0, 1200])]), - StringFileInfo( - [ - StringTable( - '000004b0', - [StringStruct('Comments', 'https://github.com/DLmaster361/AUTO_MAA/'), - StringStruct('CompanyName', 'AUTO_MAA Team'), - StringStruct('FileDescription', 'AUTO_MAA Component'), - StringStruct('FileVersion', '4.1.1.1'), - StringStruct('InternalName', 'AUTO_MAA'), - StringStruct('LegalCopyright', 'Copyright © 2024 DLmaster361'), - StringStruct('OriginalFilename', 'AUTO_MAA.py'), - StringStruct('ProductName', 'AUTO_MAA'), - StringStruct('ProductVersion', 'v4.1.1.1'), - StringStruct('Assembly Version', 'v4.1.1.1')]) - ]) - ] -) \ No newline at end of file diff --git a/res/Updater_info.txt b/res/Updater_info.txt deleted file mode 100644 index 850b1f5..0000000 --- a/res/Updater_info.txt +++ /dev/null @@ -1,43 +0,0 @@ -# UTF-8 -# -VSVersionInfo( - ffi=FixedFileInfo( - # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4) - # Set not needed items to zero 0. - filevers=(1, 0, 0, 0), - prodvers=(0, 0, 0, 0), - # Contains a bitmask that specifies the valid bits 'flags'r - mask=0x3f, - # Contains a bitmask that specifies the Boolean attributes of the file. - flags=0x0, - # The operating system for which this file was designed. - # 0x4 - NT and there is no need to change it. - OS=0x4, - # The general type of file. - # 0x1 - the file is an application. - fileType=0x1, - # The function of the file. - # 0x0 - the function is not defined for this fileType - subtype=0x0, - # Creation date and time stamp. - date=(0, 0) - ), - kids=[ - VarFileInfo([VarStruct('Translation', [0, 1200])]), - StringFileInfo( - [ - StringTable( - '000004b0', - [StringStruct('Comments', 'https://github.com/DLmaster361/AUTO_MAA/'), - StringStruct('CompanyName', 'AUTO_MAA Team'), - StringStruct('FileDescription', 'AUTO_MAA Component'), - StringStruct('FileVersion', '1.0.0.0'), - StringStruct('InternalName', 'AUTO_MAA_Updater'), - StringStruct('LegalCopyright', 'Copyright © 2024 DLmaster361'), - StringStruct('OriginalFilename', 'Updater.py'), - StringStruct('ProductName', 'AUTO_MAA_Updater'), - StringStruct('ProductVersion', 'v1.0.0.0'), - StringStruct('Assembly Version', 'v1.0.0.0')]) - ]) - ] -) \ No newline at end of file