From 2faafe864ff33df0f56ca9542221a4f976f70ca8 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 17 Oct 2026 18:29:41 +0800 Subject: [PATCH] fix(types): preserve TMDB client patch seam --- app/modules/themoviedb/__init__.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/app/modules/themoviedb/__init__.py b/app/modules/themoviedb/__init__.py index c3ce5163b..193d21cac 100644 --- a/app/modules/themoviedb/__init__.py +++ b/app/modules/themoviedb/__init__.py @@ -183,8 +183,8 @@ class TheMovieDbModule(MediaAuxiliaryProviderMixin, _ModuleBase): # 元数据缓存 cache: TmdbCache - # TMDB - tmdb: TmdbApi + # TMDB 客户端由 init_module 生命周期初始化;属性访问保持初始化后的非空合同。 + _tmdb: Optional[TmdbApi] = None # 刮削器 scraper: TmdbScraper @@ -196,6 +196,22 @@ class TheMovieDbModule(MediaAuxiliaryProviderMixin, _ModuleBase): self.tmdb = TmdbApi() self.scraper = TmdbScraper() + @property + def tmdb(self) -> TmdbApi: + """ + 返回已初始化的 TMDB 客户端。 + """ + if self._tmdb is None: + self._tmdb = TmdbApi() + return self._tmdb + + @tmdb.setter + def tmdb(self, client: TmdbApi) -> None: + """ + 保存模块生命周期提供的 TMDB 客户端。 + """ + self._tmdb = client + @staticmethod def get_name() -> str: """