mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	Move console_title to YoutubeDL
This commit is contained in:
		| @@ -5,9 +5,6 @@ import subprocess | |||||||
| import sys | import sys | ||||||
| import time | import time | ||||||
|  |  | ||||||
| if os.name == 'nt': |  | ||||||
|     import ctypes |  | ||||||
|  |  | ||||||
| from .utils import ( | from .utils import ( | ||||||
|     compat_urllib_error, |     compat_urllib_error, | ||||||
|     compat_urllib_request, |     compat_urllib_request, | ||||||
| @@ -151,16 +148,8 @@ class FileDownloader(object): | |||||||
|     def to_stderr(self, message): |     def to_stderr(self, message): | ||||||
|         self.ydl.to_screen(message) |         self.ydl.to_screen(message) | ||||||
|  |  | ||||||
|     def to_cons_title(self, message): |     def to_console_title(self, message): | ||||||
|         """Set console/terminal window title to message.""" |         self.ydl.to_console_title(message) | ||||||
|         if not self.params.get('consoletitle', False): |  | ||||||
|             return |  | ||||||
|         if os.name == 'nt' and ctypes.windll.kernel32.GetConsoleWindow(): |  | ||||||
|             # c_wchar_p() might not be necessary if `message` is |  | ||||||
|             # already of type unicode() |  | ||||||
|             ctypes.windll.kernel32.SetConsoleTitleW(ctypes.c_wchar_p(message)) |  | ||||||
|         elif 'TERM' in os.environ: |  | ||||||
|             self.to_screen('\033]0;%s\007' % message, skip_eol=True) |  | ||||||
|  |  | ||||||
|     def trouble(self, *args, **kargs): |     def trouble(self, *args, **kargs): | ||||||
|         self.ydl.trouble(*args, **kargs) |         self.ydl.trouble(*args, **kargs) | ||||||
| @@ -249,7 +238,7 @@ class FileDownloader(object): | |||||||
|         else: |         else: | ||||||
|             self.to_screen(u'\r%s[download] %s of %s at %s ETA %s' % |             self.to_screen(u'\r%s[download] %s of %s at %s ETA %s' % | ||||||
|                 (clear_line, percent_str, data_len_str, speed_str, eta_str), skip_eol=True) |                 (clear_line, percent_str, data_len_str, speed_str, eta_str), skip_eol=True) | ||||||
|         self.to_cons_title(u'youtube-dl - %s of %s at %s ETA %s' % |         self.to_console_title(u'youtube-dl - %s of %s at %s ETA %s' % | ||||||
|                 (percent_str.strip(), data_len_str.strip(), speed_str.strip(), eta_str.strip())) |                 (percent_str.strip(), data_len_str.strip(), speed_str.strip(), eta_str.strip())) | ||||||
|  |  | ||||||
|     def report_resuming_byte(self, resume_len): |     def report_resuming_byte(self, resume_len): | ||||||
|   | |||||||
| @@ -13,6 +13,9 @@ import sys | |||||||
| import time | import time | ||||||
| import traceback | import traceback | ||||||
|  |  | ||||||
|  | if os.name == 'nt': | ||||||
|  |     import ctypes | ||||||
|  |  | ||||||
| from .utils import * | from .utils import * | ||||||
| from .extractor import get_info_extractor, gen_extractors | from .extractor import get_info_extractor, gen_extractors | ||||||
| from .FileDownloader import FileDownloader | from .FileDownloader import FileDownloader | ||||||
| @@ -176,6 +179,16 @@ class YoutubeDL(object): | |||||||
|             output = output.encode(preferredencoding()) |             output = output.encode(preferredencoding()) | ||||||
|         sys.stderr.write(output) |         sys.stderr.write(output) | ||||||
|  |  | ||||||
|  |     def to_console_title(self, message): | ||||||
|  |         if not self.params.get('consoletitle', False): | ||||||
|  |             return | ||||||
|  |         if os.name == 'nt' and ctypes.windll.kernel32.GetConsoleWindow(): | ||||||
|  |             # c_wchar_p() might not be necessary if `message` is | ||||||
|  |             # already of type unicode() | ||||||
|  |             ctypes.windll.kernel32.SetConsoleTitleW(ctypes.c_wchar_p(message)) | ||||||
|  |         elif 'TERM' in os.environ: | ||||||
|  |             self.to_screen('\033]0;%s\007' % message, skip_eol=True) | ||||||
|  |  | ||||||
|     def fixed_template(self): |     def fixed_template(self): | ||||||
|         """Checks if the output template is fixed.""" |         """Checks if the output template is fixed.""" | ||||||
|         return (re.search(u'(?u)%\\(.+?\\)s', self.params['outtmpl']) is None) |         return (re.search(u'(?u)%\\(.+?\\)s', self.params['outtmpl']) is None) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister