From 82694d2d8b535eb09a68da634d733d7d7e974c2d Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 10 Jun 2026 08:11:18 +0800 Subject: [PATCH] fix: filter results in site search and improve parser handling --- app/modules/indexer/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/modules/indexer/__init__.py b/app/modules/indexer/__init__.py index dba045b1..fbf7ed9c 100644 --- a/app/modules/indexer/__init__.py +++ b/app/modules/indexer/__init__.py @@ -20,7 +20,6 @@ from app.schemas import SiteUserData from app.schemas.types import MediaType, ModuleType, OtherModulesType from app.utils.string import StringUtils - SPIDER_PARSER_CLASSES = { "TNodeSpider": TNodeSpider, "TorrentLeech": TorrentLeech, @@ -176,7 +175,8 @@ class IndexerModule(_ModuleBase): site_ua=site.get("ua"), site_proxy=site.get("proxy"), site_order=site.get("pri"), - **result) for result in result_array] + **result) for result in result_array if + result.get("language") and result.get("enclosure") and result.get("title") and result.get("size")] @staticmethod def get_search_page_size(site: dict, keyword: Optional[str] = None) -> Optional[int]: @@ -184,9 +184,9 @@ class IndexerModule(_ModuleBase): 获取站点搜索单页容量;None 表示当前搜索入口不支持可靠翻页。 """ site = site or {} - parser = site.get("parser") - if parser in SPIDER_PARSER_CLASSES: - return SPIDER_PARSER_CLASSES[parser].get_search_page_size(keyword=keyword) + site_parser = site.get("parser") + if site_parser in SPIDER_PARSER_CLASSES: + return SPIDER_PARSER_CLASSES[site_parser].get_search_page_size(keyword=keyword) try: page_size = int(site.get("result_num") or SiteSpider.default_result_num()) except (TypeError, ValueError):