diff options
| author | 2022-07-16 00:39:25 -0400 | |
|---|---|---|
| committer | 2022-07-16 00:39:25 -0400 | |
| commit | ae2a0f5622beaa6f402526f8a7b939419283a090 (patch) | |
| tree | df1ee84f90167211ae4817606fe6e7380abb67b1 /gallery_dl/extractor/nozomi.py | |
| parent | ce35450b5308adab049c5bd99095986d4c607027 (diff) | |
New upstream version 1.22.4.upstream/1.22.4
Diffstat (limited to 'gallery_dl/extractor/nozomi.py')
| -rw-r--r-- | gallery_dl/extractor/nozomi.py | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/gallery_dl/extractor/nozomi.py b/gallery_dl/extractor/nozomi.py index 7d7c3f8..713330d 100644 --- a/gallery_dl/extractor/nozomi.py +++ b/gallery_dl/extractor/nozomi.py @@ -193,25 +193,28 @@ class NozomiSearchExtractor(NozomiExtractor): return {"search_tags": self.tags} def posts(self): - index = None - result = set() + result = None + positive = [] + negative = [] def nozomi(path): url = "https://j.nozomi.la/" + path + ".nozomi" return decode_nozomi(self.request(url).content) for tag in self.tags: - tag = tag.replace("/", "") - if tag[0] == "-": - if not index: - index = set(nozomi("index")) - items = index.difference(nozomi("nozomi/" + tag[1:])) - else: - items = nozomi("nozomi/" + tag) + (negative if tag[0] == "-" else positive).append( + tag.replace("/", "")) - if result: - result.intersection_update(items) + for tag in positive: + ids = nozomi("nozomi/" + tag) + if result is None: + result = set(ids) else: - result.update(items) + result.intersection_update(ids) + + if result is None: + result = set(nozomi("index")) + for tag in negative: + result.difference_update(nozomi("nozomi/" + tag[1:])) - return sorted(result, reverse=True) + return sorted(result, reverse=True) if result else () |
