diff options
author | Unknown <blackjack4494@web.de> | 2020-09-23 03:16:06 +0200 |
---|---|---|
committer | Unknown <blackjack4494@web.de> | 2020-09-23 03:16:06 +0200 |
commit | 915f2a92ac12df97c1f09873201bfb38995cf0a7 (patch) | |
tree | 55d010f8a2613aaa38630a5d80bab97a1fca8960 /pyinst.py | |
parent | b137e533eeaa3898361f8477cc109b6940cf16ae (diff) | |
download | hypervideo-pre-915f2a92ac12df97c1f09873201bfb38995cf0a7.tar.lz hypervideo-pre-915f2a92ac12df97c1f09873201bfb38995cf0a7.tar.xz hypervideo-pre-915f2a92ac12df97c1f09873201bfb38995cf0a7.zip |
update workflow, semi fix integrated updater
Diffstat (limited to 'pyinst.py')
-rw-r--r-- | pyinst.py | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/pyinst.py b/pyinst.py new file mode 100644 index 000000000..b78fa14fe --- /dev/null +++ b/pyinst.py @@ -0,0 +1,89 @@ +from PyInstaller.utils.win32.versioninfo import ( + VarStruct, VarFileInfo, StringStruct, StringTable, + StringFileInfo, FixedFileInfo, VSVersionInfo, SetVersion, +) +import PyInstaller.__main__ + +from datetime import datetime + +FILE_DESCRIPTION = 'Media Downloader' + +exec(compile(open('youtube_dlc/version.py').read(), 'youtube_dlc/version.py', 'exec')) + +_LATEST_VERSION = locals()['__version__'] + +_OLD_VERSION = _LATEST_VERSION.rsplit("-", 1) + +if len(_OLD_VERSION) > 0: + old_ver = _OLD_VERSION[0] + +old_rev = '' +if len(_OLD_VERSION) > 1: + old_rev = _OLD_VERSION[1] + +ver = f'{datetime.today():%Y.%m.%d}' +rev = '' + +if old_ver == ver: + if old_rev: + rev = int(old_rev) + 1 + else: + rev = 1 + +_SEPARATOR = '-' + +version = _SEPARATOR.join(filter(None, [ver, str(rev)])) + +print(version) + +version_list = ver.split(".") +_year, _month, _day = [int(value) for value in version_list] +_rev = 0 +if rev: + _rev = rev +_ver_tuple = _year, _month, _day, _rev + +version_file = VSVersionInfo( + ffi=FixedFileInfo( + filevers=_ver_tuple, + prodvers=_ver_tuple, + mask=0x3F, + flags=0x0, + OS=0x4, + fileType=0x1, + subtype=0x0, + date=(0, 0), + ), + kids=[ + StringFileInfo( + [ + StringTable( + "040904B0", + [ + StringStruct("Comments", "Youtube-dlc Command Line Interface."), + StringStruct("CompanyName", "theidel@uni-bremen.de"), + StringStruct("FileDescription", FILE_DESCRIPTION), + StringStruct("FileVersion", version), + StringStruct("InternalName", "youtube-dlc"), + StringStruct( + "LegalCopyright", + "theidel@uni-bremen.de | UNLICENSE", + ), + StringStruct("OriginalFilename", "youtube-dlc.exe"), + StringStruct("ProductName", "Youtube-dlc"), + StringStruct("ProductVersion", version + " | git.io/JUGsM"), + ], + ) + ] + ), + VarFileInfo([VarStruct("Translation", [0, 1200])]) + ] +) + +PyInstaller.__main__.run([ + '--name=youtube-dlc', + '--onefile', + '--icon=win/icon/cloud.ico', + 'youtube_dlc/__main__.py', +]) +SetVersion('dist/youtube-dlc.exe', version_file) |