diff --git a/gallery_dl/extractor/koharu.py b/gallery_dl/extractor/koharu.py index b209830b..62c6032c 100644 --- a/gallery_dl/extractor/koharu.py +++ b/gallery_dl/extractor/koharu.py @@ -25,6 +25,22 @@ class KoharuGalleryExtractor(GalleryExtractor): pattern = BASE_PATTERN + r"/(?:g|reader)/(\d+)/(\w+)" example = "https://koharu.to/g/12345/67890abcde/" + TAG_TYPES = { + 0 : "general", + 1 : "artist", + 2 : "circle", + 3 : "parody", + 4 : "magazine", + 5 : "character", + 6 : "", + 7 : "uploader", + 8 : "male", + 9 : "female", + 10: "mixed", + 11: "language", + 12: "other", + } + def __init__(self, match): GalleryExtractor.__init__(self, match) self.gallery_url = None @@ -49,6 +65,15 @@ class KoharuGalleryExtractor(GalleryExtractor): self.data = data = self.request(url, headers=self.headers).json() data.pop("rels", None) data.pop("thumbnails", None) + + tags = [] + for tag in data["tags"]: + name = tag["name"] + namespace = tag.get("namespace", 0) + tags.append(self.TAG_TYPES[namespace] + ":" + name) + data["tags"] = tags + data["date"] = text.parse_timestamp(data["created_at"] // 1000) + return data def images(self, _): diff --git a/test/results/koharu.py b/test/results/koharu.py index 198a64bc..e44c017d 100644 --- a/test/results/koharu.py +++ b/test/results/koharu.py @@ -17,12 +17,32 @@ __tests__ = ( "count" : 1, "created_at": 1721626410802, + "date" : "dt:2024-07-22 05:33:30", "extension" : "cbz", "filename" : "f47639c6abaf1903dd69c36a3d961da84741a1831aa07a2906ce9c74156a5d75", "id" : 14216, "num" : 1, "public_key": "6c67076fdd45", - "tags" : list, + "tags": [ + "general:beach", + "general:booty", + "general:dark skin", + "general:fingering", + "general:handjob", + "general:light hair", + "general:nakadashi", + "general:outdoors", + "general:ponytail", + "general:swimsuit", + "general:x-ray", + "artist:ouchi kaeru", + "magazine:comic kairakuten 2024-08", + "female:busty", + "language:english", + "language:translated", + "other:uncensored", + "other:vanilla", + ], "title" : "[Ouchi Kaeru] Summer Business (Comic Kairakuten 2024-08)", "updated_at": 1721626410802, },