diff --git a/app/core/config.py b/app/core/config.py index 2edf2ffa..5a649b9f 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -103,8 +103,8 @@ class ConfigModel(BaseModel): TMDB_API_DOMAIN: str = "api.themoviedb.org" # TMDB元数据语言 TMDB_LOCALE: str = "zh" - # TMDB海报图片语言 - TMDB_SCRAP_IMAGE_LOCALE: str = "zh" + # 刮削使用TMDB原始语种图片 + TMDB_SCRAP_ORIGINAL_IMAGE: bool = False # TMDB API Key TMDB_API_KEY: str = "db55323b8d3e4154498498a75642b381" # TVDB API Key @@ -552,6 +552,7 @@ class Settings(BaseSettings, ConfigModel, LogConfigModel): return { "server": self.PROXY_HOST } + return None @property def GITHUB_HEADERS(self): diff --git a/app/modules/themoviedb/scraper.py b/app/modules/themoviedb/scraper.py index a55d17b5..64684978 100644 --- a/app/modules/themoviedb/scraper.py +++ b/app/modules/themoviedb/scraper.py @@ -15,7 +15,7 @@ class TmdbScraper: _img_tmdb = None @property - def meta_tmdb(self): + def default_tmdb(self): """ 获取元数据TMDB Api """ @@ -23,14 +23,13 @@ class TmdbScraper: self._meta_tmdb = TmdbApi(language=settings.TMDB_LOCALE) return self._meta_tmdb - @property - def img_tmdb(self): + def original_tmdb(self, mediainfo: Optional[MediaInfo] = None): """ 获取图片TMDB Api """ - if not self._img_tmdb: - self._img_tmdb = TmdbApi(language=settings.TMDB_SCRAP_IMAGE_LOCALE) - return self._img_tmdb + if settings.TMDB_SCRAP_ORIGINAL_IMAGE and mediainfo: + return TmdbApi(language=mediainfo.original_language) + return self.default_tmdb def get_metadata_nfo(self, meta: MetaBase, mediainfo: MediaInfo, @@ -49,9 +48,9 @@ class TmdbScraper: if season is not None: # 查询季信息 if mediainfo.episode_group: - seasoninfo = self.meta_tmdb.get_tv_group_detail(mediainfo.episode_group, season=season) + seasoninfo = self.default_tmdb.get_tv_group_detail(mediainfo.episode_group, season=season) else: - seasoninfo = self.meta_tmdb.get_tv_season_detail(mediainfo.tmdb_id, season=season) + seasoninfo = self.default_tmdb.get_tv_season_detail(mediainfo.tmdb_id, season=season) if episode: # 集元数据文件 episodeinfo = self.__get_episode_detail(seasoninfo, meta.begin_episode) @@ -81,9 +80,9 @@ class TmdbScraper: if episode: # 集的图片 if mediainfo.episode_group: - seasoninfo = self.img_tmdb.get_tv_group_detail(mediainfo.episode_group, season) + seasoninfo = self.original_tmdb(mediainfo).get_tv_group_detail(mediainfo.episode_group, season) else: - seasoninfo = self.img_tmdb.get_tv_season_detail(mediainfo.tmdb_id, season) + seasoninfo = self.original_tmdb(mediainfo).get_tv_season_detail(mediainfo.tmdb_id, season) if seasoninfo: episodeinfo = self.__get_episode_detail(seasoninfo, episode) if episodeinfo and episodeinfo.get("still_path"): @@ -93,7 +92,7 @@ class TmdbScraper: images[still_name] = still_url else: # 季的图片 - seasoninfo = self.img_tmdb.get_tv_season_detail(mediainfo.tmdb_id, season) + seasoninfo = self.original_tmdb(mediainfo).get_tv_season_detail(mediainfo.tmdb_id, season) if seasoninfo: # TMDB季poster图片 poster_name, poster_url = self.get_season_poster(seasoninfo, season)