diff options
Diffstat (limited to 'gallery_dl/extractor/moebooru.py')
| -rw-r--r-- | gallery_dl/extractor/moebooru.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/gallery_dl/extractor/moebooru.py b/gallery_dl/extractor/moebooru.py index ba27994..23f8fd9 100644 --- a/gallery_dl/extractor/moebooru.py +++ b/gallery_dl/extractor/moebooru.py @@ -9,9 +9,8 @@ """Extractors for Moebooru based sites""" from .booru import BooruExtractor -from .. import text, util +from .. import text, dt import collections -import datetime class MoebooruExtractor(BooruExtractor): @@ -21,7 +20,7 @@ class MoebooruExtractor(BooruExtractor): page_start = 1 def _prepare(self, post): - post["date"] = text.parse_timestamp(post["created_at"]) + post["date"] = dt.parse_ts(post["created_at"]) def _html(self, post): url = f"{self.root}/post/show/{post['id']}" @@ -33,7 +32,7 @@ class MoebooruExtractor(BooruExtractor): return tags = collections.defaultdict(list) - pattern = util.re(r"tag-type-([^\"' ]+).*?[?;]tags=([^\"'+]+)") + pattern = text.re(r"tag-type-([^\"' ]+).*?[?;]tags=([^\"'+]+)") for tag_type, tag_name in pattern.findall(tag_container): tags[tag_type].append(text.unquote(tag_name)) for key, value in tags.items(): @@ -93,7 +92,7 @@ class MoebooruTagExtractor(MoebooruExtractor): subcategory = "tag" directory_fmt = ("{category}", "{search_tags}") archive_fmt = "t_{search_tags}_{id}" - pattern = BASE_PATTERN + r"/post\?(?:[^&#]*&)*tags=([^&#]*)" + pattern = rf"{BASE_PATTERN}/post\?(?:[^&#]*&)*tags=([^&#]*)" example = "https://yande.re/post?tags=TAG" def __init__(self, match): @@ -112,7 +111,7 @@ class MoebooruPoolExtractor(MoebooruExtractor): subcategory = "pool" directory_fmt = ("{category}", "pool", "{pool}") archive_fmt = "p_{pool}_{id}" - pattern = BASE_PATTERN + r"/pool/show/(\d+)" + pattern = rf"{BASE_PATTERN}/pool/show/(\d+)" example = "https://yande.re/pool/show/12345" def __init__(self, match): @@ -136,7 +135,7 @@ class MoebooruPoolExtractor(MoebooruExtractor): class MoebooruPostExtractor(MoebooruExtractor): subcategory = "post" archive_fmt = "{id}" - pattern = BASE_PATTERN + r"/post/show/(\d+)" + pattern = rf"{BASE_PATTERN}/post/show/(\d+)" example = "https://yande.re/post/show/12345" def posts(self): @@ -148,8 +147,8 @@ class MoebooruPopularExtractor(MoebooruExtractor): subcategory = "popular" directory_fmt = ("{category}", "popular", "{scale}", "{date}") archive_fmt = "P_{scale[0]}_{date}_{id}" - pattern = BASE_PATTERN + \ - r"/post/popular_(by_(?:day|week|month)|recent)(?:\?([^#]*))?" + pattern = (rf"{BASE_PATTERN}" + rf"/post/popular_(by_(?:day|week|month)|recent)(?:\?([^#]*))?") example = "https://yande.re/post/popular_by_month?year=YYYY&month=MM" def __init__(self, match): @@ -164,14 +163,14 @@ class MoebooruPopularExtractor(MoebooruExtractor): date = (f"{params['year']:>04}-{params.get('month', '01'):>02}-" f"{params.get('day', '01'):>02}") else: - date = datetime.date.today().isoformat() + date = dt.date.today().isoformat() scale = self.scale if scale.startswith("by_"): scale = scale[3:] if scale == "week": - date = datetime.date.fromisoformat(date) - date = (date - datetime.timedelta(days=date.weekday())).isoformat() + date = dt.date.fromisoformat(date) + date = (date - dt.timedelta(days=date.weekday())).isoformat() elif scale == "month": date = date[:-3] |
