From c035308030d154a6c829ce5d026947589d015845 Mon Sep 17 00:00:00 2001 From: pax Date: Sun, 5 Apr 2026 19:09:41 -0500 Subject: [PATCH] Animated filter: client-side only, 20 page backfill cap Removed server-side tag (wastes a search slot). Client-side filter with 20 page backfill when animated is checked (vs 5 normally) to find enough animated posts. --- booru_viewer/gui/app.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/booru_viewer/gui/app.py b/booru_viewer/gui/app.py index 48f5022..2509217 100644 --- a/booru_viewer/gui/app.py +++ b/booru_viewer/gui/app.py @@ -642,7 +642,8 @@ class BooruApp(QMainWindow): try: collected = [] current_page = page - for _ in range(5): + max_pages = 20 if animated_only else 5 + for _ in range(max_pages): batch = await client.search(tags=search_tags, page=current_page, limit=limit) filtered = _filter(batch) collected.extend(filtered) @@ -719,10 +720,6 @@ class BooruApp(QMainWindow): if self._min_score > 0: parts.append(f"score:>={self._min_score}") - # Animated filter — server-side tag - if self._animated_only.isChecked(): - parts.append("animated") - return " ".join(parts) def _do_search(self) -> None: @@ -763,7 +760,7 @@ class BooruApp(QMainWindow): try: collected = [] current_page = page - max_pages = 5 # safety cap to avoid infinite fetching + max_pages = 20 if animated_only else 5 for _ in range(max_pages): batch = await client.search(tags=search_tags, page=current_page, limit=limit) filtered = _filter(batch)