mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	ATTENTION DO NOT USE THESE: new binaries in the Downloads section
placed fake binaries that update themselves where old versions updating will search for the new version
This commit is contained in:
		
							
								
								
									
										40
									
								
								devscripts/transition_helper.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								devscripts/transition_helper.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| #!/usr/bin/env python | ||||
|  | ||||
| import sys, os | ||||
|  | ||||
| try: | ||||
|     import urllib.request as compat_urllib_request | ||||
| except ImportError: # Python 2 | ||||
|     import urllib2 as compat_urllib_request | ||||
|  | ||||
| sys.stderr.write(u'Hi! We changed distribution method and now youtube-dl needs to update itself one more time.\n') | ||||
| sys.stderr.write(u'This will only happen once. Simply press enter to go on. Sorry for the trouble!\n') | ||||
| sys.stderr.write(u'The new location of the binaries is https://github.com/rg3/youtube-dl/downloads, not the git repository.\n\n') | ||||
|  | ||||
| try: | ||||
| 	raw_input() | ||||
| except NameError: # Python 3 | ||||
| 	input() | ||||
|  | ||||
| filename = sys.argv[0] | ||||
|  | ||||
| API_URL = "https://api.github.com/repos/rg3/youtube-dl/downloads" | ||||
| BIN_URL = "https://github.com/downloads/rg3/youtube-dl/youtube-dl" | ||||
|  | ||||
| if not os.access(filename, os.W_OK): | ||||
|     sys.exit('ERROR: no write permissions on %s' % filename) | ||||
|  | ||||
| try: | ||||
|     urlh = compat_urllib_request.urlopen(BIN_URL) | ||||
|     newcontent = urlh.read() | ||||
|     urlh.close() | ||||
| except (IOError, OSError) as err: | ||||
|     sys.exit('ERROR: unable to download latest version') | ||||
|  | ||||
| try: | ||||
|     with open(filename, 'wb') as outf: | ||||
|         outf.write(newcontent) | ||||
| except (IOError, OSError) as err: | ||||
|     sys.exit('ERROR: unable to overwrite current version') | ||||
|  | ||||
| sys.stderr.write(u'Done! Now you can run youtube-dl.\n') | ||||
							
								
								
									
										12
									
								
								devscripts/transition_helper_exe/setup.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								devscripts/transition_helper_exe/setup.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| from distutils.core import setup | ||||
| import py2exe | ||||
|  | ||||
| py2exe_options = { | ||||
|     "bundle_files": 1, | ||||
|     "compressed": 1, | ||||
|     "optimize": 2, | ||||
|     "dist_dir": '.', | ||||
|     "dll_excludes": ['w9xpopen.exe'] | ||||
| } | ||||
|  | ||||
| setup(console=['youtube-dl.py'], options={ "py2exe": py2exe_options }, zipfile=None) | ||||
							
								
								
									
										49
									
								
								devscripts/transition_helper_exe/youtube-dl.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								devscripts/transition_helper_exe/youtube-dl.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| #!/usr/bin/env python | ||||
|  | ||||
| import sys, os | ||||
| import urllib2 | ||||
|  | ||||
| sys.stderr.write(u'Hi! We changed distribution method and now youtube-dl needs to update itself one more time.\n') | ||||
| sys.stderr.write(u'This will only happen once. Simply press enter to go on. Sorry for the trouble!\n') | ||||
| sys.stderr.write(u'The new location of the binaries is https://github.com/rg3/youtube-dl/downloads, not the git repository.\n\n') | ||||
|  | ||||
| raw_input() | ||||
|  | ||||
| filename = sys.argv[0] | ||||
|  | ||||
| API_URL = "https://api.github.com/repos/rg3/youtube-dl/downloads" | ||||
| EXE_URL = "https://github.com/downloads/rg3/youtube-dl/youtube-dl.exe" | ||||
|  | ||||
| if not os.access(filename, os.W_OK): | ||||
|     sys.exit('ERROR: no write permissions on %s' % filename) | ||||
|  | ||||
| exe = os.path.abspath(filename) | ||||
| directory = os.path.dirname(exe) | ||||
| if not os.access(directory, os.W_OK): | ||||
|     sys.exit('ERROR: no write permissions on %s' % directory) | ||||
|  | ||||
| try: | ||||
|     urlh = urllib2.urlopen(EXE_URL) | ||||
|     newcontent = urlh.read() | ||||
|     urlh.close() | ||||
|     with open(exe + '.new', 'wb') as outf: | ||||
|         outf.write(newcontent) | ||||
| except (IOError, OSError) as err: | ||||
|     sys.exit('ERROR: unable to download latest version') | ||||
|  | ||||
| try: | ||||
|     bat = os.path.join(directory, 'youtube-dl-updater.bat') | ||||
|     b = open(bat, 'w') | ||||
|     b.write(""" | ||||
| echo Updating youtube-dl... | ||||
| ping 127.0.0.1 -n 5 -w 1000 > NUL | ||||
| move /Y "%s.new" "%s" | ||||
| del "%s" | ||||
|     \n""" %(exe, exe, bat)) | ||||
|     b.close() | ||||
|  | ||||
|     os.startfile(bat) | ||||
| except (IOError, OSError) as err: | ||||
|     sys.exit('ERROR: unable to overwrite current version') | ||||
|  | ||||
| sys.stderr.write(u'Done! Now you can run youtube-dl.\n') | ||||
		Reference in New Issue
	
	Block a user