[twitter] simplify 'user' assignment

This commit is contained in:
Mike Fährmann
2022-07-29 20:26:22 +02:00
parent 8a70b94245
commit 81a37d21d3

View File

@@ -336,6 +336,10 @@ class TwitterExtractor(Extractor):
return udata
def _assign_user(self, user):
self._user_obj = user
self._user = self._transform_user(user)
def _users_result(self, users):
userfmt = self.config("users")
if not userfmt or userfmt == "timeline":
@@ -630,10 +634,9 @@ class TwitterSearchExtractor(TwitterExtractor):
if user is not None:
try:
self._user_obj = user = self.api.user_by_screen_name(user)
self._assign_user(self.api.user_by_screen_name(user))
except KeyError:
raise exception.NotFoundError("user")
self._user = self._transform_user(user)
return self.api.search_adaptive(query)
@@ -797,8 +800,7 @@ class TwitterTweetExtractor(TwitterExtractor):
for tweet in self.api.tweet_detail(tweet_id):
if tweet["rest_id"] == tweet_id or \
tweet.get("_retweet_id_str") == tweet_id:
self._user_obj = tweet["core"]["user_results"]["result"]
self._user = self._transform_user(self._user_obj)
self._assign_user(tweet["core"]["user_results"]["result"])
tweets.append(tweet)
tweet_id = tweet["legacy"].get("quoted_status_id_str")
@@ -815,8 +817,7 @@ class TwitterTweetExtractor(TwitterExtractor):
buffer.append(tweet)
if tweet["rest_id"] == tweet_id or \
tweet.get("_retweet_id_str") == tweet_id:
self._user_obj = tweet["core"]["user_results"]["result"]
self._user = self._transform_user(self._user_obj)
self._assign_user(tweet["core"]["user_results"]["result"])
break
return itertools.chain(buffer, tweets)
@@ -1095,10 +1096,7 @@ class TwitterAPI():
else:
raise exception.NotFoundError("user")
extr = self.extractor
extr._user_obj = user
extr._user = extr._transform_user(user)
self.extractor._assign_user(user)
return user_id
@cache(maxage=3600)