From 8ec48a039f97e6a3a3d53149ace26c0aec58188a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Fri, 19 Dec 2025 11:24:05 +0100 Subject: [PATCH] [aryion:favorite] ignore already seen folders (#8728) --- gallery_dl/extractor/aryion.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gallery_dl/extractor/aryion.py b/gallery_dl/extractor/aryion.py index e6542660..5e5d1f25 100644 --- a/gallery_dl/extractor/aryion.py +++ b/gallery_dl/extractor/aryion.py @@ -108,7 +108,7 @@ class AryionExtractor(Extractor): return url = self.root + text.rextr(page, "href='", "'", pos) - def _pagination_folders(self, url, folder=None): + def _pagination_folders(self, url, folder=None, seen=None): if folder is None: self.kwdict["folder"] = "" else: @@ -126,10 +126,15 @@ class AryionExtractor(Extractor): cnt += 1 if text.extr(item, 'data-item-type="', '"') == "Folders": folder = text.extr(item, "href='", "'").rpartition("/")[2] - if self.recursive: - yield from self._pagination_folders(url, folder) - else: - self.log.debug("Skipping folder '%s'", folder) + if seen is None: + seen = set() + if folder not in seen: + seen.add(folder) + if self.recursive: + yield from self._pagination_folders( + url, folder, seen) + else: + self.log.debug("Skipping folder '%s'", folder) else: yield text.extr(item, "data-item-id='", "'")