diff --git a/gallery_dl/extractor/hitomi.py b/gallery_dl/extractor/hitomi.py index 9543eea8..e15e13cb 100644 --- a/gallery_dl/extractor/hitomi.py +++ b/gallery_dl/extractor/hitomi.py @@ -122,7 +122,10 @@ class HitomiTagExtractor(Extractor): self.tag = tag def items(self): - data = {"_extractor": HitomiGalleryExtractor} + data = { + "_extractor": HitomiGalleryExtractor, + "search_tags": text.unquote(self.tag.rpartition("-")[0]), + } nozomi_url = "https://ltn.hitomi.la/{}/{}.nozomi".format( self.type, self.tag) headers = { @@ -202,12 +205,14 @@ class HitomiSearchExtractor(Extractor): def __init__(self, match): Extractor.__init__(self, match) self.query = match.group(1) - self.tags = text.unquote(self.query).split(" ") + self.tags = text.unquote(self.query) def items(self): - data = {"_extractor": HitomiGalleryExtractor} - - results = [self.get_nozomi_items(tag) for tag in self.tags] + data = { + "_extractor": HitomiGalleryExtractor, + "search_tags": self.tags, + } + results = [self.get_nozomi_items(tag) for tag in self.tags.split(" ")] intersects = set.intersection(*results) for gallery_id in sorted(intersects, reverse=True): diff --git a/test/results/hitomi.py b/test/results/hitomi.py index 64287f11..89ed0431 100644 --- a/test/results/hitomi.py +++ b/test/results/hitomi.py @@ -162,6 +162,8 @@ __tests__ = ( "#class" : hitomi.HitomiTagExtractor, "#pattern" : hitomi.HitomiGalleryExtractor.pattern, "#count" : ">= 35", + + "search_tags": "screenshots", }, { @@ -208,6 +210,8 @@ __tests__ = ( "#pattern" : hitomi.HitomiGalleryExtractor.pattern, "#range" : "1-150", "#count" : 150, + + "search_tags": "tag:screenshots language:japanese", }, { @@ -215,6 +219,8 @@ __tests__ = ( "#class" : hitomi.HitomiSearchExtractor, "#pattern" : hitomi.HitomiGalleryExtractor.pattern, "#count" : range(35, 50), + + "search_tags": "female:sole_female language:japanese artist:sumiya", }, {