aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--test/test_write_annotations.py.disabled (renamed from test/test_write_annotations.py)0
-rw-r--r--yt_dlp/extractor/youtube.py36
-rw-r--r--yt_dlp/options.py4
4 files changed, 5 insertions, 37 deletions
diff --git a/README.md b/README.md
index 248b7e688..917350bda 100644
--- a/README.md
+++ b/README.md
@@ -1500,6 +1500,8 @@ These options may no longer work as intended
--no-call-home Default
--include-ads No longer supported
--no-include-ads Default
+ --write-annotations No supported site has annotations now
+ --no-write-annotations Default
#### Removed
These options were deprecated since 2014 and have now been entirely removed
diff --git a/test/test_write_annotations.py b/test/test_write_annotations.py.disabled
index 7e4d8bc5a..7e4d8bc5a 100644
--- a/test/test_write_annotations.py
+++ b/test/test_write_annotations.py.disabled
diff --git a/yt_dlp/extractor/youtube.py b/yt_dlp/extractor/youtube.py
index 375eca8f8..9ca81e6cb 100644
--- a/yt_dlp/extractor/youtube.py
+++ b/yt_dlp/extractor/youtube.py
@@ -59,7 +59,6 @@ from ..utils import (
unsmuggle_url,
update_url_query,
url_or_none,
- urlencode_postdata,
urljoin,
variadic,
)
@@ -3168,40 +3167,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
needs_auth=info['age_limit'] >= 18,
is_unlisted=None if is_private is None else is_unlisted)
- # get xsrf for annotations or comments
- get_annotations = self.get_param('writeannotations', False)
- get_comments = self.get_param('getcomments', False)
- if get_annotations or get_comments:
- xsrf_token = None
- if master_ytcfg:
- xsrf_token = try_get(master_ytcfg, lambda x: x['XSRF_TOKEN'], compat_str)
- if not xsrf_token:
- xsrf_token = self._search_regex(
- r'([\'"])XSRF_TOKEN\1\s*:\s*([\'"])(?P<xsrf_token>(?:(?!\2).)+)\2',
- webpage, 'xsrf token', group='xsrf_token', fatal=False)
-
- # annotations
- if get_annotations:
- invideo_url = get_first(
- player_responses,
- ('annotations', 0, 'playerAnnotationsUrlsRenderer', 'invideoUrl'),
- expected_type=str)
- if xsrf_token and invideo_url:
- xsrf_field_name = None
- if master_ytcfg:
- xsrf_field_name = try_get(master_ytcfg, lambda x: x['XSRF_FIELD_NAME'], compat_str)
- if not xsrf_field_name:
- xsrf_field_name = self._search_regex(
- r'([\'"])XSRF_FIELD_NAME\1\s*:\s*([\'"])(?P<xsrf_field_name>\w+)\2',
- webpage, 'xsrf field name',
- group='xsrf_field_name', default='session_token')
- info['annotations'] = self._download_webpage(
- self._proto_relative_url(invideo_url),
- video_id, note='Downloading annotations',
- errnote='Unable to download video annotations', fatal=False,
- data=urlencode_postdata({xsrf_field_name: xsrf_token}))
-
- if get_comments:
+ if self.get_param('getcomments', False):
info['__post_extractor'] = lambda: self._extract_comments(master_ytcfg, video_id, contents, webpage)
self.mark_watched(video_id, player_responses)
diff --git a/yt_dlp/options.py b/yt_dlp/options.py
index 6bad37d19..86aad3393 100644
--- a/yt_dlp/options.py
+++ b/yt_dlp/options.py
@@ -1070,11 +1070,11 @@ def parseOpts(overrideArguments=None):
filesystem.add_option(
'--write-annotations',
action='store_true', dest='writeannotations', default=False,
- help='Write video annotations to a .annotations.xml file')
+ help=optparse.SUPPRESS_HELP)
filesystem.add_option(
'--no-write-annotations',
action='store_false', dest='writeannotations',
- help='Do not write video annotations (default)')
+ help=optparse.SUPPRESS_HELP)
filesystem.add_option(
'--write-playlist-metafiles',
action='store_true', dest='allow_playlist_files', default=None,