diff options
Diffstat (limited to 'gallery_dl/extractor/booru.py')
| -rw-r--r-- | gallery_dl/extractor/booru.py | 42 |
1 files changed, 7 insertions, 35 deletions
diff --git a/gallery_dl/extractor/booru.py b/gallery_dl/extractor/booru.py index ac45e0b..162e9cc 100644 --- a/gallery_dl/extractor/booru.py +++ b/gallery_dl/extractor/booru.py @@ -27,7 +27,6 @@ class BooruExtractor(SharedConfigMixin, Extractor): page_start = 1 page_limit = None sort = False - ugoira = True def __init__(self, match): super().__init__(match) @@ -52,11 +51,7 @@ class BooruExtractor(SharedConfigMixin, Extractor): for image in images: try: - if "pixiv_ugoira_frame_data" in image and \ - "large_file_url" in image and not self.ugoira: - url = image["large_file_url"] - else: - url = image["file_url"] + url = image["file_url"] except KeyError: continue if url.startswith("/"): @@ -112,12 +107,6 @@ class XmlParserMixin(): return [post.attrib for post in root] -class DanbooruPageMixin(): - """Pagination for Danbooru v2""" - def update_page(self, data): - self.params["page"] = "b{}".format(data["id"]) - - class MoebooruPageMixin(): """Pagination for Moebooru and Danbooru v1""" def update_page(self, data): @@ -214,8 +203,8 @@ class PostMixin(): self.params["tags"] = "id:" + self.post -class PopularMixin(): - """Extraction and metadata handling for Danbooru v2""" +class MoebooruPopularMixin(): + """Extraction and metadata handling for Moebooru and Danbooru v1""" subcategory = "popular" directory_fmt = ("{category}", "popular", "{scale}", "{date}") archive_fmt = "P_{scale[0]}_{date}_{id}" @@ -225,37 +214,20 @@ class PopularMixin(): def __init__(self, match): super().__init__(match) self.params.update(text.parse_query(match.group("query"))) + self.scale = match.group("scale") def get_metadata(self, fmt="%Y-%m-%d"): - date = self.get_date() or datetime.datetime.utcnow().strftime(fmt) + date = self.get_date() or datetime.date.today().isoformat() scale = self.get_scale() or "day" if scale == "week": - dt = datetime.datetime.strptime(date, fmt) - dt -= datetime.timedelta(days=dt.weekday()) - date = dt.strftime(fmt) + date = datetime.date.fromisoformat(date) + date = (date - datetime.timedelta(days=date.weekday())).isoformat() elif scale == "month": date = date[:-3] return {"date": date, "scale": scale} - def get_scale(self): - if "scale" in self.params: - return self.params["scale"] - return None - - def get_date(self): - if "date" in self.params: - return self.params["date"][:10] - return None - - -class MoebooruPopularMixin(PopularMixin): - """Extraction and metadata handling for Moebooru and Danbooru v1""" - def __init__(self, match): - super().__init__(match) - self.scale = match.group("scale") - def get_date(self): if "year" in self.params: return "{:>04}-{:>02}-{:>02}".format( |
