aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-08-05 01:11:05 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-08-05 03:37:20 +0530
commitcc3fa8d39df5e954c26e62fdd77138f16a14e7a9 (patch)
tree1acca8c1d49a9dd744a9b6c198693912fad22800
parent89efdc15dd4dbdb4b51e82647637f33112156f61 (diff)
downloadhypervideo-pre-cc3fa8d39df5e954c26e62fdd77138f16a14e7a9.tar.lz
hypervideo-pre-cc3fa8d39df5e954c26e62fdd77138f16a14e7a9.tar.xz
hypervideo-pre-cc3fa8d39df5e954c26e62fdd77138f16a14e7a9.zip
Handle `BrokenPipeError`
PR: https://github.com/ytdl-org/youtube-dl/pull/29505 Fixes: https://github.com/ytdl-org/youtube-dl/issues/29082 Authored by: kikuyan
-rw-r--r--yt_dlp/__init__.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/yt_dlp/__init__.py b/yt_dlp/__init__.py
index 552b0cb56..fb0f46a4a 100644
--- a/yt_dlp/__init__.py
+++ b/yt_dlp/__init__.py
@@ -734,6 +734,11 @@ def main(argv=None):
sys.exit('ERROR: fixed output name but more than one file to download')
except KeyboardInterrupt:
sys.exit('\nERROR: Interrupted by user')
+ except BrokenPipeError:
+ # https://docs.python.org/3/library/signal.html#note-on-sigpipe
+ devnull = os.open(os.devnull, os.O_WRONLY)
+ os.dup2(devnull, sys.stdout.fileno())
+ sys.exit(r'\nERROR: {err}')
__all__ = ['main', 'YoutubeDL', 'gen_extractors', 'list_extractors']