mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-11-01 12:56:34 +08:00
fix(imdb): handle null seasons response
This commit is contained in:
@@ -508,7 +508,7 @@ class ImdbApi:
|
||||
def _parse_seasons(cls, data: Optional[dict]) -> list[ImdbSeason]:
|
||||
"""解析 GraphQL 季编号列表。"""
|
||||
title = cls._first_title(data) or {}
|
||||
values = title.get("episodes", {}).get("seasons") or []
|
||||
values = (title.get("episodes") or {}).get("seasons") or []
|
||||
return [ImdbSeason(season=str(item["number"])) for item in values]
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -242,6 +242,21 @@ def test_imdb_episode_parser_accepts_null_optional_objects() -> None:
|
||||
assert episodes[0].plot is None
|
||||
|
||||
|
||||
def test_imdb_season_parser_accepts_null_episodes() -> None:
|
||||
"""季列表 GraphQL 的 episodes 为 null 时应按空列表处理。"""
|
||||
seasons = ImdbApi._parse_seasons(
|
||||
{
|
||||
"titles": [
|
||||
{
|
||||
"episodes": None,
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
|
||||
assert seasons == []
|
||||
|
||||
|
||||
def test_imdb_clear_cache_registers_async_cleanup_in_running_loop() -> None:
|
||||
"""同步清缓存入口在异步宿主中应登记任务,并保留原同步调用约定。"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user