aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlauren n. liberda <lauren@selfisekai.rocks>2023-03-04 18:51:33 +0100
committerGitHub <noreply@github.com>2023-03-04 23:21:33 +0530
commitcf605226521e99c89fc8dff26a319025810e63a0 (patch)
tree496049560e5fd36daefa3b17aeb658e58df4cac0
parent45db357289b4e1eec09093c8bc5446520378f426 (diff)
downloadhypervideo-pre-cf605226521e99c89fc8dff26a319025810e63a0.tar.lz
hypervideo-pre-cf605226521e99c89fc8dff26a319025810e63a0.tar.xz
hypervideo-pre-cf605226521e99c89fc8dff26a319025810e63a0.zip
[extractor/twitter] Fix retweet extraction (#6422)
Authored by: selfisekai
-rw-r--r--yt_dlp/extractor/twitter.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/yt_dlp/extractor/twitter.py b/yt_dlp/extractor/twitter.py
index d9d446832..3f1899e96 100644
--- a/yt_dlp/extractor/twitter.py
+++ b/yt_dlp/extractor/twitter.py
@@ -839,6 +839,28 @@ class TwitterIE(TwitterBaseIE):
},
'params': {'extractor_args': {'twitter': {'force_graphql': ['']}}},
}, {
+ # url to retweet id
+ 'url': 'https://twitter.com/liberdalau/status/1623739803874349067',
+ 'info_dict': {
+ 'id': '1623274794488659969',
+ 'display_id': '1623739803874349067',
+ 'ext': 'mp4',
+ 'title': 'Johnny Bullets - Me after going viral to over 30million people: Whoopsie-daisy',
+ 'description': 'md5:e873616a4a8fe0f93e71872678a672f3',
+ 'uploader': 'Johnny Bullets',
+ 'uploader_id': 'Johnnybull3ts',
+ 'uploader_url': 'https://twitter.com/Johnnybull3ts',
+ 'age_limit': 0,
+ 'tags': [],
+ 'duration': 8.033,
+ 'timestamp': 1675853859.0,
+ 'upload_date': '20230208',
+ 'thumbnail': r're:https://pbs\.twimg\.com/ext_tw_video_thumb/.+',
+ 'like_count': int,
+ 'repost_count': int,
+ 'comment_count': int,
+ },
+ }, {
# onion route
'url': 'https://twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid.onion/TwitterBlue/status/1484226494708662273',
'only_matching': True,
@@ -949,13 +971,13 @@ class TwitterIE(TwitterBaseIE):
status = self._graphql_to_legacy(result, twid)
else:
- status = self._call_api(f'statuses/show/{twid}.json', twid, {
+ status = traverse_obj(self._call_api(f'statuses/show/{twid}.json', twid, {
'cards_platform': 'Web-12',
'include_cards': 1,
'include_reply_count': 1,
'include_user_entities': 0,
'tweet_mode': 'extended',
- })
+ }), 'retweeted_status', None)
title = description = status['full_text'].replace('\n', ' ')
# strip 'https -_t.co_BJYgOjSeGA' junk from filenames