From 5c104538270e5fc5ff8cf1007c34c0bf1e82e003 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Thu, 17 Feb 2022 19:21:59 +0530 Subject: [PATCH] Fix for when stdout/stderr encoding is None Closes #2711 --- yt_dlp/YoutubeDL.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 1c3f9ba1e..8041b8d15 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -888,7 +888,8 @@ class YoutubeDL(object): def _format_text(self, handle, allow_colors, text, f, fallback=None, *, test_encoding=False): if test_encoding: original_text = text - encoding = self.params.get('encoding') or getattr(handle, 'encoding', 'ascii') + # handle.encoding can be None. See https://github.com/yt-dlp/yt-dlp/issues/2711 + encoding = self.params.get('encoding') or getattr(handle, 'encoding', None) or 'ascii' text = text.encode(encoding, 'ignore').decode(encoding) if fallback is not None and text != original_text: text = fallback