From 05aa2ad2f849d6742e8c178c6ff59b439e3c6c89 Mon Sep 17 00:00:00 2001 From: dirkf Date: Mon, 11 Mar 2024 15:52:02 +0000 Subject: [PATCH] [utils] `mode` might be `None` in `write_string()` * see https://github.com/yt-dlp/yt-dlp/issues/8816 --- youtube_dl/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 459502554..57f6ccb2f 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -3495,7 +3495,8 @@ def write_string(s, out=None, encoding=None): if _windows_write_string(s, out): return - if ('b' in getattr(out, 'mode', '') + # `mode` might be `None` (see https://github.com/yt-dlp/yt-dlp/issues/8816) + if ('b' in (getattr(out, 'mode', None) or '') or sys.version_info[0] < 3): # Python 2 lies about mode of sys.stderr byt = s.encode(encoding or preferredencoding(), 'ignore') out.write(byt)