From bf4e69eb7a87a389d76abe48b0d63f521c2893ee Mon Sep 17 00:00:00 2001 From: Connor Mason Date: Fri, 14 Feb 2025 04:48:30 -0800 Subject: [PATCH] Remove bidi_workaround stuff --- README.md | 3 --- youtube_dl/YoutubeDL.py | 44 ----------------------------------------- youtube_dl/__init__.py | 1 - youtube_dl/options.py | 4 ---- 4 files changed, 52 deletions(-) diff --git a/README.md b/README.md index 47e686f84..0e53eaf26 100644 --- a/README.md +++ b/README.md @@ -350,9 +350,6 @@ Alternatively, refer to the [developer instructions](#developer-instructions) fo --add-header FIELD:VALUE Specify a custom HTTP header and its value, separated by a colon ':'. You can use this option multiple times - --bidi-workaround Work around terminals that lack - bidirectional text support. Requires - bidiv or fribidi executable in PATH --sleep-interval SECONDS Number of seconds to sleep before each download when used alone or a lower bound of a range for randomized sleep diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 9e5620eef..fba8d28fc 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -249,8 +249,6 @@ class YoutubeDL(object): geo_verification_proxy: URL of the proxy to use for IP address verification on geo-restricted sites. socket_timeout: Time to wait for unresponsive hosts, in seconds - bidi_workaround: Work around buggy terminals without bidirectional text - support, using fridibi debug_printtraffic:Print out sent and received HTTP traffic include_ads: Download ads as well default_search: Prepend this string if an input url is not valid. @@ -412,33 +410,6 @@ class YoutubeDL(object): check_deprecated('autonumber', '--auto-number', '-o "%(autonumber)s-%(title)s.%(ext)s"') check_deprecated('usetitle', '--title', '-o "%(title)s-%(id)s.%(ext)s"') - if params.get('bidi_workaround', False): - try: - import pty - master, slave = pty.openpty() - width = compat_get_terminal_size().columns - if width is None: - width_args = [] - else: - width_args = ['-w', str(width)] - sp_kwargs = dict( - stdin=subprocess.PIPE, - stdout=slave, - stderr=self._err_file) - try: - self._output_process = subprocess.Popen( - ['bidiv'] + width_args, **sp_kwargs - ) - except OSError: - self._output_process = subprocess.Popen( - ['fribidi', '-c', 'UTF-8'] + width_args, **sp_kwargs) - self._output_channel = os.fdopen(master, 'rb') - except OSError as ose: - if ose.errno == errno.ENOENT: - self.report_warning('Could not find fribidi executable, ignoring --bidi-workaround . Make sure that fribidi is an executable file in one of the directories in your $PATH.') - else: - raise - if (sys.platform != 'win32' and sys.getfilesystemencoding() in ['ascii', 'ANSI_X3.4-1968'] and not params.get('restrictfilenames', False)): @@ -523,19 +494,6 @@ class YoutubeDL(object): """Add the progress hook (currently only for the file downloader)""" self._progress_hooks.append(ph) - def _bidi_workaround(self, message): - if not hasattr(self, '_output_channel'): - return message - - assert hasattr(self, '_output_process') - assert isinstance(message, compat_str) - line_count = message.count('\n') + 1 - self._output_process.stdin.write((message + '\n').encode('utf-8')) - self._output_process.stdin.flush() - res = ''.join(self._output_channel.readline().decode('utf-8') - for _ in range(line_count)) - return res[:-len('\n')] - def to_screen(self, message, skip_eol=False): """Print message to stdout if not in quiet mode.""" return self.to_stdout(message, skip_eol, check_quiet=True) @@ -548,7 +506,6 @@ class YoutubeDL(object): if self.params.get('logger'): self.params['logger'].debug(message) elif not check_quiet or not self.params.get('quiet', False): - message = self._bidi_workaround(message) terminator = ['\n', ''][skip_eol] output = message + terminator @@ -560,7 +517,6 @@ class YoutubeDL(object): if self.params.get('logger'): self.params['logger'].error(message) else: - message = self._bidi_workaround(message) output = message + '\n' self._write_string(output, self._err_file) diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 06bdfb689..aaa1d1fe3 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -403,7 +403,6 @@ def _real_main(argv=None): 'prefer_insecure': opts.prefer_insecure, 'proxy': opts.proxy, 'socket_timeout': opts.socket_timeout, - 'bidi_workaround': opts.bidi_workaround, 'debug_printtraffic': opts.debug_printtraffic, 'prefer_ffmpeg': opts.prefer_ffmpeg, 'include_ads': opts.include_ads, diff --git a/youtube_dl/options.py b/youtube_dl/options.py index 61705d1f0..9d7a70fa7 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -557,10 +557,6 @@ def parseOpts(overrideArguments=None): 'NB Use --cookies rather than adding a Cookie header if its contents may be sensitive; ' 'data from a Cookie header will be sent to all domains, not just the one intended') ) - workarounds.add_option( - '--bidi-workaround', - dest='bidi_workaround', action='store_true', - help='Work around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH') workarounds.add_option( '--sleep-interval', '--min-sleep-interval', metavar='SECONDS', dest='sleep_interval', type=float,