summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/pixiv.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/pixiv.py')
-rw-r--r--gallery_dl/extractor/pixiv.py20
1 files changed, 9 insertions, 11 deletions
diff --git a/gallery_dl/extractor/pixiv.py b/gallery_dl/extractor/pixiv.py
index 76d4dc4..4f8ee9c 100644
--- a/gallery_dl/extractor/pixiv.py
+++ b/gallery_dl/extractor/pixiv.py
@@ -18,8 +18,8 @@ class PixivExtractor(Extractor):
"""Base class for pixiv extractors"""
category = "pixiv"
directory_fmt = ("{category}", "{user[id]} {user[account]}")
- filename_fmt = "{category}_{user[id]}_{id}{num}.{extension}"
- archive_fmt = "{id}{num}.{extension}"
+ filename_fmt = "{id}_p{num}.{extension}"
+ archive_fmt = "{id}{suffix}.{extension}"
def __init__(self, match):
Extractor.__init__(self, match)
@@ -40,9 +40,10 @@ class PixivExtractor(Extractor):
del work["meta_single_page"]
del work["image_urls"]
del work["meta_pages"]
- work["num"] = ""
+ work["num"] = 0
work["tags"] = [tag["name"] for tag in work["tags"]]
work["date"] = text.parse_datetime(work["create_date"])
+ work["suffix"] = ""
work.update(metadata)
yield Message.Directory, work
@@ -55,20 +56,17 @@ class PixivExtractor(Extractor):
url = ugoira["zip_urls"]["medium"].replace(
"_ugoira600x600", "_ugoira1920x1080")
work["frames"] = ugoira["frames"]
- work["extension"] = "zip"
- yield Message.Url, url, work
+ yield Message.Url, url, text.nameext_from_url(url, work)
elif work["page_count"] == 1:
url = meta_single_page["original_image_url"]
- work["extension"] = url.rpartition(".")[2]
- yield Message.Url, url, work
+ yield Message.Url, url, text.nameext_from_url(url, work)
else:
- for num, img in enumerate(meta_pages):
+ for work["num"], img in enumerate(meta_pages):
url = img["image_urls"]["original"]
- work["num"] = "_p{:02}".format(num)
- work["extension"] = url.rpartition(".")[2]
- yield Message.Url, url, work
+ work["suffix"] = "_p{:02}".format(work["num"])
+ yield Message.Url, url, text.nameext_from_url(url, work)
def works(self):
"""Return an iterable containing all relevant 'work'-objects"""