diff options
| author | 2025-01-28 19:12:09 -0500 | |
|---|---|---|
| committer | 2025-01-28 19:12:09 -0500 | |
| commit | a26df18796ff4e506b16bf32fcec9336233b9e2e (patch) | |
| tree | 876512f59831cd670a90a0bc92bc85def6ea3d82 /gallery_dl/extractor/twitter.py | |
| parent | 0532a387ef5b7fcb4507a9b094dca37a5f635fe1 (diff) | |
New upstream version 1.28.5.upstream/1.28.5
Diffstat (limited to 'gallery_dl/extractor/twitter.py')
| -rw-r--r-- | gallery_dl/extractor/twitter.py | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index 090b11a..840e846 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -121,14 +121,7 @@ class TwitterExtractor(Extractor): txt = data.get("full_text") or data.get("text") or "" self.log.warning("'%s' (%s)", txt, data["id_str"]) - files = [] - if "extended_entities" in data: - self._extract_media( - data, data["extended_entities"]["media"], files) - if "card" in tweet and self.cards: - self._extract_card(tweet, files) - if self.twitpic: - self._extract_twitpic(data, files) + files = self._extract_files(data, tweet) if not files and not self.textonly: continue @@ -143,6 +136,39 @@ class TwitterExtractor(Extractor): text.nameext_from_url(url, file) yield Message.Url, url, file + def _extract_files(self, data, tweet): + files = [] + + if "extended_entities" in data: + try: + self._extract_media( + data, data["extended_entities"]["media"], files) + except Exception as exc: + self.log.debug("", exc_info=exc) + self.log.warning( + "%s: Error while extracting media files (%s: %s)", + data["id_str"], exc.__class__.__name__, exc) + + if self.cards and "card" in tweet: + try: + self._extract_card(tweet, files) + except Exception as exc: + self.log.debug("", exc_info=exc) + self.log.warning( + "%s: Error while extracting Card files (%s: %s)", + data["id_str"], exc.__class__.__name__, exc) + + if self.twitpic: + try: + self._extract_twitpic(data, files) + except Exception as exc: + self.log.debug("", exc_info=exc) + self.log.warning( + "%s: Error while extracting TwitPic files (%s: %s)", + data["id_str"], exc.__class__.__name__, exc) + + return files + def _extract_media(self, tweet, entities, files): for media in entities: @@ -1039,7 +1065,7 @@ class TwitterAPI(): else: csrf_token = None if not csrf_token: - csrf_token = util.generate_token() + csrf_token = util.generate_token(80) cookies.set("ct0", csrf_token, domain=cookies_domain) auth_token = cookies.get("auth_token", domain=cookies_domain) |
