diff options
| author | 2020-06-29 00:33:22 -0400 | |
|---|---|---|
| committer | 2020-06-29 00:33:22 -0400 | |
| commit | 02dd2886783cd303cff6890a741152d013bb00ce (patch) | |
| tree | e5d4a805888147de8efe514a3c55e303230a508b /gallery_dl/extractor/mastodon.py | |
| parent | 8c911e3d62a430f5630c13d51b47201fa8ff3cd1 (diff) | |
New upstream version 1.14.2.upstream/1.14.2
Diffstat (limited to 'gallery_dl/extractor/mastodon.py')
| -rw-r--r-- | gallery_dl/extractor/mastodon.py | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/gallery_dl/extractor/mastodon.py b/gallery_dl/extractor/mastodon.py index 002c8f7..fa1fecc 100644 --- a/gallery_dl/extractor/mastodon.py +++ b/gallery_dl/extractor/mastodon.py @@ -27,22 +27,25 @@ class MastodonExtractor(Extractor): Extractor.__init__(self, match) self.api = MastodonAPI(self) - def config(self, key, default=None, *, sentinel=util.SENTINEL): - value = Extractor.config(self, key, sentinel) - return value if value is not sentinel else config.interpolate( - ("extractor", "mastodon", self.instance, self.subcategory), - key, default, + def config(self, key, default=None): + return config.interpolate_common( + ("extractor",), ( + (self.category, self.subcategory), + (self.basecategory, self.instance, self.subcategory), + ), key, default, ) 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,11 +53,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"]] - attachments = status["media_attachments"] - del status["media_attachments"] - return attachments + status["date"] = text.parse_datetime( + status["created_at"][:19], "%Y-%m-%dT%H:%M:%S") class MastodonUserExtractor(MastodonExtractor): |
