From 7045ac8d877eb0088b5acc4f0579e7459a36d588 Mon Sep 17 00:00:00 2001 From: Simon Sawicki Date: Sat, 27 Jan 2024 06:26:31 +0100 Subject: [PATCH] [utils] `write_string`: Allow `out.mode` to be `None` Closes #8816 Authored by: Grub4K --- yt_dlp/utils/_utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py index 89a0d4cff1..9f815de26f 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py @@ -1424,7 +1424,8 @@ def write_string(s, out=None, encoding=None): s = re.sub(r'([\r\n]+)', r' \1', s) enc, buffer = None, out - if 'b' in getattr(out, 'mode', ''): + # `mode` might be `None` (Ref: https://github.com/yt-dlp/yt-dlp/issues/8816) + if 'b' in (getattr(out, 'mode', None) or ''): enc = encoding or preferredencoding() elif hasattr(out, 'buffer'): buffer = out.buffer