aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/common.py
diff options
context:
space:
mode:
authorMatthew <coletdjnz@protonmail.com>2022-11-10 16:33:03 +1300
committerGitHub <noreply@github.com>2022-11-10 03:33:03 +0000
commit0cf643b234ff2f4d017a980dbaefdb14ed6e4db6 (patch)
tree1611c3a216592b489065340805ad030d70801db1 /yt_dlp/extractor/common.py
parentdc3028d233b2f7091215dc0d9acc522914b9b59d (diff)
downloadhypervideo-pre-0cf643b234ff2f4d017a980dbaefdb14ed6e4db6.tar.lz
hypervideo-pre-0cf643b234ff2f4d017a980dbaefdb14ed6e4db6.tar.xz
hypervideo-pre-0cf643b234ff2f4d017a980dbaefdb14ed6e4db6.zip
[extractor/youtube] Differentiate between no and disabled comments (#5491)
`comments` and `comment_count` will be set to None, as opposed to an empty list and 0, respectively. Fixes https://github.com/yt-dlp/yt-dlp/issues/5068 Authored by: coletdjnz, pukkandan
Diffstat (limited to 'yt_dlp/extractor/common.py')
-rw-r--r--yt_dlp/extractor/common.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py
index 20ed52216..34650cf4e 100644
--- a/yt_dlp/extractor/common.py
+++ b/yt_dlp/extractor/common.py
@@ -3738,6 +3738,9 @@ class InfoExtractor:
def _get_subtitles(self, *args, **kwargs):
raise NotImplementedError('This method must be implemented by subclasses')
+ class CommentsDisabled(Exception):
+ """Raise in _get_comments if comments are disabled for the video"""
+
def extract_comments(self, *args, **kwargs):
if not self.get_param('getcomments'):
return None
@@ -3753,6 +3756,8 @@ class InfoExtractor:
interrupted = False
except KeyboardInterrupt:
self.to_screen('Interrupted by user')
+ except self.CommentsDisabled:
+ return {'comments': None, 'comment_count': None}
except Exception as e:
if self.get_param('ignoreerrors') is not True:
raise