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.
This commit is contained in:
pax 2026-04-05 19:09:41 -05:00
parent fe5dde7a2f
commit c035308030

View File

@ -642,7 +642,8 @@ class BooruApp(QMainWindow):
try: try:
collected = [] collected = []
current_page = page 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) batch = await client.search(tags=search_tags, page=current_page, limit=limit)
filtered = _filter(batch) filtered = _filter(batch)
collected.extend(filtered) collected.extend(filtered)
@ -719,10 +720,6 @@ class BooruApp(QMainWindow):
if self._min_score > 0: if self._min_score > 0:
parts.append(f"score:>={self._min_score}") parts.append(f"score:>={self._min_score}")
# Animated filter — server-side tag
if self._animated_only.isChecked():
parts.append("animated")
return " ".join(parts) return " ".join(parts)
def _do_search(self) -> None: def _do_search(self) -> None:
@ -763,7 +760,7 @@ class BooruApp(QMainWindow):
try: try:
collected = [] collected = []
current_page = page 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): for _ in range(max_pages):
batch = await client.search(tags=search_tags, page=current_page, limit=limit) batch = await client.search(tags=search_tags, page=current_page, limit=limit)
filtered = _filter(batch) filtered = _filter(batch)