Allow switch off go to quoted tweet

pull/4/head
Max Treskin 2021-03-03 16:01:13 +03:00
rodzic af196d7b48
commit 1210088d9d
1 zmienionych plików z 8 dodań i 6 usunięć

Wyświetl plik

@ -55,12 +55,12 @@ class Downloader:
raise RuntimeError("Bearer TokenNot Fetched") raise RuntimeError("Bearer TokenNot Fetched")
def download_media_of_tweet(self, tid, save_dest, size="large", include_video=False, def download_media_of_tweet(self, tid, save_dest, size="large", include_video=False,
include_photo=True, is_extended=False): include_photo=True, is_extended=False, goto_quoted=False):
''' ''' ''' '''
save_dest = ensure_dir(save_dest) save_dest = ensure_dir(save_dest)
tweet = self.get_tweet(tid, is_extended) tweet = self.get_tweet(tid, is_extended)
self.process_tweet(tweet, save_dest, size, include_video, include_photo) self.process_tweet(tweet, save_dest, size, include_video, include_photo, goto_quoted)
def download_media_of_user(self, user, save_dest, size="large", limit=3200, rts=False, def download_media_of_user(self, user, save_dest, size="large", limit=3200, rts=False,
include_video=False, include_photo=True, since_id=0): include_video=False, include_photo=True, since_id=0):
@ -192,11 +192,11 @@ class Downloader:
self.log.error(f"{url} error, code was {r.status_code}") self.log.error(f"{url} error, code was {r.status_code}")
return None return None
def process_tweet(self, tweet, save_dest, size="large", include_video=False, include_photo=True): def process_tweet(self, tweet, save_dest, size="large", include_video=False, include_photo=True, goto_quoted=False):
if 'retweeted_status' in tweet: if 'retweeted_status' in tweet:
tweet = tweet['retweeted_status'] tweet = tweet['retweeted_status']
self.log.debug('this is a retweet, turn to orignal tweet') self.log.debug('this is a retweet, turn to orignal tweet')
elif ("quoted_status" in tweet): elif ("quoted_status" in tweet) and goto_quoted:
tweet = tweet['quoted_status'] tweet = tweet['quoted_status']
self.log.debug('this is a quoted tweet, turn to orignal tweet') self.log.debug('this is a quoted tweet, turn to orignal tweet')
@ -214,10 +214,12 @@ class Downloader:
Args: Args:
tweet: A dict object representing a tweet. tweet: A dict object representing a tweet.
""" """
extended = tweet.get("extended_entities") extended = tweet.get("entities")
if "media" not in extended:
extended = tweet.get("extended_entities")
if not extended: if not extended:
return [] return []
rv = [] rv = []
if "media" in extended: if "media" in extended:
for x in extended["media"]: for x in extended["media"]: