mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
fix: filter results in site search and improve parser handling
This commit is contained in:
@@ -20,7 +20,6 @@ from app.schemas import SiteUserData
|
|||||||
from app.schemas.types import MediaType, ModuleType, OtherModulesType
|
from app.schemas.types import MediaType, ModuleType, OtherModulesType
|
||||||
from app.utils.string import StringUtils
|
from app.utils.string import StringUtils
|
||||||
|
|
||||||
|
|
||||||
SPIDER_PARSER_CLASSES = {
|
SPIDER_PARSER_CLASSES = {
|
||||||
"TNodeSpider": TNodeSpider,
|
"TNodeSpider": TNodeSpider,
|
||||||
"TorrentLeech": TorrentLeech,
|
"TorrentLeech": TorrentLeech,
|
||||||
@@ -176,7 +175,8 @@ class IndexerModule(_ModuleBase):
|
|||||||
site_ua=site.get("ua"),
|
site_ua=site.get("ua"),
|
||||||
site_proxy=site.get("proxy"),
|
site_proxy=site.get("proxy"),
|
||||||
site_order=site.get("pri"),
|
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
|
@staticmethod
|
||||||
def get_search_page_size(site: dict, keyword: Optional[str] = None) -> Optional[int]:
|
def get_search_page_size(site: dict, keyword: Optional[str] = None) -> Optional[int]:
|
||||||
@@ -184,9 +184,9 @@ class IndexerModule(_ModuleBase):
|
|||||||
获取站点搜索单页容量;None 表示当前搜索入口不支持可靠翻页。
|
获取站点搜索单页容量;None 表示当前搜索入口不支持可靠翻页。
|
||||||
"""
|
"""
|
||||||
site = site or {}
|
site = site or {}
|
||||||
parser = site.get("parser")
|
site_parser = site.get("parser")
|
||||||
if parser in SPIDER_PARSER_CLASSES:
|
if site_parser in SPIDER_PARSER_CLASSES:
|
||||||
return SPIDER_PARSER_CLASSES[parser].get_search_page_size(keyword=keyword)
|
return SPIDER_PARSER_CLASSES[site_parser].get_search_page_size(keyword=keyword)
|
||||||
try:
|
try:
|
||||||
page_size = int(site.get("result_num") or SiteSpider.default_result_num())
|
page_size = int(site.get("result_num") or SiteSpider.default_result_num())
|
||||||
except (TypeError, ValueError):
|
except (TypeError, ValueError):
|
||||||
|
|||||||
Reference in New Issue
Block a user