summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/twitter.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 16:45:21 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 16:45:21 -0400
commit33d4eae5a6df8aaf6757f52ae25f514ff1211c62 (patch)
tree7ad425b022dcc1daea1c84c720a266f0134db705 /gallery_dl/extractor/twitter.py
parentf98ab7aaca3c4acbd5a793267791749740330e9c (diff)
New upstream version 1.25.3.upstream/1.25.3
Diffstat (limited to 'gallery_dl/extractor/twitter.py')
-rw-r--r--gallery_dl/extractor/twitter.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py
index 2ccc7e5..5e68f13 100644
--- a/gallery_dl/extractor/twitter.py
+++ b/gallery_dl/extractor/twitter.py
@@ -45,7 +45,8 @@ class TwitterExtractor(Extractor):
if not self.config("transform", True):
self._transform_user = util.identity
self._transform_tweet = util.identity
- self._user = self._user_obj = None
+ self._user = None
+ self._user_obj = None
self._user_cache = {}
self._init_sizes()
@@ -769,6 +770,13 @@ class TwitterTweetExtractor(TwitterExtractor):
"pattern": r"https://pbs\.twimg\.com/media/EaK.+=jpg",
"count": 4,
}),
+ # different 'user' and 'author' in quoted Tweet (#3922)
+ ("https://twitter.com/web/status/1644907989109751810", {
+ "keyword": {
+ "author": {"id": 321629993 , "name": "Cakes_Comics"},
+ "user" : {"id": 718928225360080897, "name": "StobiesGalaxy"},
+ },
+ }),
# TwitPic embeds (#579)
("https://twitter.com/i/web/status/112900228289540096", {
"options": (("twitpic", True), ("cards", False)),
@@ -897,7 +905,8 @@ Your reaction.""",
for tweet in self.api.tweet_detail(tweet_id):
if tweet["rest_id"] == tweet_id or \
tweet.get("_retweet_id_str") == tweet_id:
- self._assign_user(tweet["core"]["user_results"]["result"])
+ if self._user_obj is None:
+ self._assign_user(tweet["core"]["user_results"]["result"])
tweets.append(tweet)
tweet_id = tweet["legacy"].get("quoted_status_id_str")
@@ -1561,9 +1570,9 @@ class TwitterAPI():
if esw("tweet-"):
tweets.append(entry)
- elif esw("homeConversation-"):
- tweets.extend(entry["content"]["items"])
- elif esw("conversationthread-"):
+ elif esw(("homeConversation-",
+ "profile-conversation-",
+ "conversationthread-")):
tweets.extend(entry["content"]["items"])
elif esw("tombstone-"):
item = entry["content"]["itemContent"]