mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	Refactor update-version, pyinst.py and related files
				
					
				
			* Refactor update-version * Moved pyinst, update-version and icon into devscripts * pyinst doesn't bump version anymore * Merge pyinst and pyinst32. Usage: `pyinst.py [32|64]` * Add mutagen as requirement * Remove make_win and related files
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								devscripts/cloud.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								devscripts/cloud.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										69
									
								
								devscripts/pyinst.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								devscripts/pyinst.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| from __future__ import unicode_literals | ||||
| import sys | ||||
|  | ||||
| from PyInstaller.utils.win32.versioninfo import ( | ||||
|     VarStruct, VarFileInfo, StringStruct, StringTable, | ||||
|     StringFileInfo, FixedFileInfo, VSVersionInfo, SetVersion, | ||||
| ) | ||||
| import PyInstaller.__main__ | ||||
|  | ||||
|  | ||||
| assert len(sys.argv) > 1 and sys.argv[1] in ("32", "64") | ||||
| _x86 = "_x86" if sys.argv[1] == "32" else "" | ||||
|  | ||||
| FILE_DESCRIPTION = 'Media Downloader%s' % (" (32 Bit)" if _x86 else '') | ||||
| SHORT_URLS = {"32": "git.io/JUGsM", "64": "git.io/JLh7K"} | ||||
|  | ||||
|  | ||||
| exec(compile(open('youtube_dlc/version.py').read(), 'youtube_dlc/version.py', 'exec')) | ||||
| VERSION = locals()['__version__'] | ||||
|  | ||||
| VERSION_LIST = VERSION.replace('-', '.').split('.') | ||||
| VERSION_LIST = list(map(int, VERSION_LIST)) + [0] * (4 - len(VERSION_LIST)) | ||||
|  | ||||
| print('Version: %s%s' % (VERSION, _x86)) | ||||
| print('Remember to update the version using devscipts\\update-version.py') | ||||
|  | ||||
| VERSION_FILE = VSVersionInfo( | ||||
|     ffi=FixedFileInfo( | ||||
|         filevers=VERSION_LIST, | ||||
|         prodvers=VERSION_LIST, | ||||
|         mask=0x3F, | ||||
|         flags=0x0, | ||||
|         OS=0x4, | ||||
|         fileType=0x1, | ||||
|         subtype=0x0, | ||||
|         date=(0, 0), | ||||
|     ), | ||||
|     kids=[ | ||||
|         StringFileInfo([ | ||||
|             StringTable( | ||||
|                 "040904B0", [ | ||||
|                     StringStruct("Comments", "Youtube-dlc%s Command Line Interface." % _x86), | ||||
|                     StringStruct("CompanyName", "pukkandan@gmail.com"), | ||||
|                     StringStruct("FileDescription", FILE_DESCRIPTION), | ||||
|                     StringStruct("FileVersion", VERSION), | ||||
|                     StringStruct("InternalName", "youtube-dlc%s" % _x86), | ||||
|                     StringStruct( | ||||
|                         "LegalCopyright", | ||||
|                         "pukkandan@gmail.com | UNLICENSE", | ||||
|                     ), | ||||
|                     StringStruct("OriginalFilename", "youtube-dlc%s.exe" % _x86), | ||||
|                     StringStruct("ProductName", "Youtube-dlc%s" % _x86), | ||||
|                     StringStruct("ProductVersion", "%s%s | %s" % (VERSION, _x86, SHORT_URLS[sys.argv[1]])), | ||||
|                 ])]), | ||||
|         VarFileInfo([VarStruct("Translation", [0, 1200])]) | ||||
|     ] | ||||
| ) | ||||
|  | ||||
| PyInstaller.__main__.run([ | ||||
|     '--name=youtube-dlc%s' % _x86, | ||||
|     '--onefile', | ||||
|     '--icon=devscripts/cloud.ico', | ||||
|     '--exclude-module=youtube_dl', | ||||
|     '--exclude-module=test', | ||||
|     '--exclude-module=ytdlp_plugins', | ||||
|     '--hidden-import=mutagen', | ||||
|     'youtube_dlc/__main__.py', | ||||
| ]) | ||||
| SetVersion('dist/youtube-dlc%s.exe' % _x86, VERSION_FILE) | ||||
| @@ -3,26 +3,27 @@ from datetime import datetime | ||||
| # import urllib.request | ||||
| 
 | ||||
| # response = urllib.request.urlopen('https://blackjack4494.github.io/youtube-dlc/update/LATEST_VERSION') | ||||
| # _LATEST_VERSION = response.read().decode('utf-8') | ||||
| # old_version = response.read().decode('utf-8') | ||||
| 
 | ||||
| exec(compile(open('youtube_dlc/version.py').read(), 'youtube_dlc/version.py', 'exec')) | ||||
| _LATEST_VERSION = locals()['__version__'] | ||||
| old_version = locals()['__version__'] | ||||
| 
 | ||||
| _OLD_VERSION = _LATEST_VERSION.replace('-', '.').split(".", 4) | ||||
| old_version_list = old_version.replace('-', '.').split(".", 4) | ||||
| 
 | ||||
| old_ver = '.'.join(_OLD_VERSION[:3]) | ||||
| old_rev = _OLD_VERSION[3] if len(_OLD_VERSION) > 3 else '' | ||||
| old_ver = '.'.join(old_version_list[:3]) | ||||
| old_rev = old_version_list[3] if len(old_version_list) > 3 else '' | ||||
| 
 | ||||
| ver = datetime.now().strftime("%Y.%m.%d") | ||||
| rev = str(int(old_rev or 0) + 1) if old_ver == ver else '' | ||||
| 
 | ||||
| version = '.'.join((ver, rev)) if rev else ver | ||||
| VERSION = '.'.join((ver, rev)) if rev else ver | ||||
| # VERSION_LIST = [(int(v) for v in ver.split(".") + [rev or 0])] | ||||
| 
 | ||||
| print('::set-output name=ytdlc_version::' + version) | ||||
| print('::set-output name=ytdlc_version::' + VERSION) | ||||
| 
 | ||||
| file_version_py = open('youtube_dlc/version.py', 'rt') | ||||
| data = file_version_py.read() | ||||
| data = data.replace(_LATEST_VERSION, version) | ||||
| data = data.replace(old_version, VERSION) | ||||
| file_version_py.close() | ||||
| 
 | ||||
| file_version_py = open('youtube_dlc/version.py', 'wt') | ||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan