From 8c857052d73238b1b3c8c7d578437437d0b450c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 17 Jun 2020 20:21:28 +0200 Subject: [PATCH] [mastodon] ignore toots without media attachments --- gallery_dl/extractor/mastodon.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gallery_dl/extractor/mastodon.py b/gallery_dl/extractor/mastodon.py index ef410884..f5e502b6 100644 --- a/gallery_dl/extractor/mastodon.py +++ b/gallery_dl/extractor/mastodon.py @@ -37,12 +37,14 @@ class MastodonExtractor(Extractor): def items(self): yield Message.Version, 1 for status in self.statuses(): - attachments = self.prepare(status) - yield Message.Directory, status - for media in attachments: - status["media"] = media - url = media["url"] - yield Message.Url, url, text.nameext_from_url(url, status) + attachments = status["media_attachments"] + if attachments: + self.prepare(status) + yield Message.Directory, status + for media in attachments: + status["media"] = media + url = media["url"] + yield Message.Url, url, text.nameext_from_url(url, status) def statuses(self): """Return an iterable containing all relevant Status-objects""" @@ -50,13 +52,11 @@ class MastodonExtractor(Extractor): def prepare(self, status): """Prepare a status object""" + del status["media_attachments"] status["instance"] = self.instance status["tags"] = [tag["name"] for tag in status["tags"]] status["date"] = text.parse_datetime( status["created_at"][:19], "%Y-%m-%dT%H:%M:%S") - attachments = status["media_attachments"] - del status["media_attachments"] - return attachments class MastodonUserExtractor(MastodonExtractor):