diff --git a/gallery_dl/extractor/booru.py b/gallery_dl/extractor/booru.py index c63085a8..54a88787 100644 --- a/gallery_dl/extractor/booru.py +++ b/gallery_dl/extractor/booru.py @@ -41,10 +41,8 @@ class BooruExtractor(SharedConfigMixin, Extractor): return pages * self.per_page def items(self): - data = self.get_metadata() - yield Message.Version, 1 - yield Message.Directory, data + data = self.get_metadata() self.reset_page() while True: @@ -59,9 +57,11 @@ class BooruExtractor(SharedConfigMixin, Extractor): if url.startswith("/"): url = text.urljoin(self.api_url, url) image.update(data) + text.nameext_from_url(url, image) if self.extags: self.extended_tags(image) - yield Message.Url, url, text.nameext_from_url(url, image) + yield Message.Directory, image + yield Message.Url, url, image if len(images) < self.per_page: return diff --git a/gallery_dl/extractor/gelbooru.py b/gallery_dl/extractor/gelbooru.py index ce2e83bc..4ec7f007 100644 --- a/gallery_dl/extractor/gelbooru.py +++ b/gallery_dl/extractor/gelbooru.py @@ -33,16 +33,16 @@ class GelbooruExtractor(booru.XmlParserMixin, self.session.cookies["fringeBenefits"] = "yup" def items_noapi(self): - data = self.get_metadata() - yield Message.Version, 1 - yield Message.Directory, data + data = self.get_metadata() for post in self.get_posts(): post = self.get_post_data(post) url = post["file_url"] post.update(data) - yield Message.Url, url, text.nameext_from_url(url, post) + text.nameext_from_url(url, post) + yield Message.Directory, post + yield Message.Url, url, post def get_posts(self): """Return an iterable containing all relevant post objects""" diff --git a/gallery_dl/extractor/sankaku.py b/gallery_dl/extractor/sankaku.py index da9735e8..bb8a2aec 100644 --- a/gallery_dl/extractor/sankaku.py +++ b/gallery_dl/extractor/sankaku.py @@ -40,17 +40,18 @@ class SankakuExtractor(SharedConfigMixin, Extractor): def items(self): self.login() - data = self.get_metadata() yield Message.Version, 1 - yield Message.Directory, data + data = self.get_metadata() for post_id in util.advance(self.get_posts(), self.start_post): self.wait() post = self.get_post_data(post_id) url = post["file_url"] post.update(data) - yield Message.Url, url, text.nameext_from_url(url, post) + text.nameext_from_url(url, post) + yield Message.Directory, post + yield Message.Url, url, post def skip(self, num): self.start_post += num