This commit is contained in:
jxxghp
2025-05-14 08:41:06 +08:00
parent 16fc0d31cd
commit 1a8e0c9ecb
3 changed files with 36 additions and 48 deletions
+20 -20
View File
@@ -76,7 +76,7 @@ class TmdbScraper:
""" """
images = {} images = {}
if season is not None: if season is not None:
# 只需要集的图片 # 只需要集的图片
if episode: if episode:
# 集的图片 # 集的图片
if mediainfo.episode_group: if mediainfo.episode_group:
@@ -100,25 +100,25 @@ class TmdbScraper:
images[poster_name] = poster_url images[poster_name] = poster_url
return images return images
else: else:
# 主媒体图片 # 获取媒体信息中原有图片(TheMovieDb或Fanart
_mediainfo = self.original_tmdb(mediainfo).get_info(mediainfo.type, mediainfo.tmdb_id) for attr_name, attr_value in vars(mediainfo).items():
if _mediainfo: if attr_value \
for attr_name, attr_value in _mediainfo.items(): and attr_name.endswith("_path") \
if attr_name.endswith("_path") and attr_value is not None: and attr_value \
image_url = f"https://{settings.TMDB_IMAGE_DOMAIN}/t/p/original{attr_value}" and isinstance(attr_value, str) \
image_name = attr_name.replace("_path", "") + Path(image_url).suffix and attr_value.startswith("http"):
images[image_name] = image_url image_name = attr_name.replace("_path", "") + Path(attr_value).suffix
return images images[image_name] = attr_value
else: # 替换原语言Poster
for attr_name, attr_value in vars(mediainfo).items(): if settings.TMDB_SCRAP_ORIGINAL_IMAGE:
if attr_value \ _mediainfo = self.original_tmdb(mediainfo).get_info(mediainfo.type, mediainfo.tmdb_id)
and attr_name.endswith("_path") \ if _mediainfo:
and attr_value \ for attr_name, attr_value in _mediainfo.items():
and isinstance(attr_value, str) \ if attr_name.endswith("_path") and attr_value is not None:
and attr_value.startswith("http"): image_url = f"https://{settings.TMDB_IMAGE_DOMAIN}/t/p/original{attr_value}"
image_name = attr_name.replace("_path", "") + Path(attr_value).suffix image_name = attr_name.replace("_path", "") + Path(image_url).suffix
images[image_name] = attr_value images[image_name] = image_url
return images return images
@staticmethod @staticmethod
def get_season_poster(seasoninfo: dict, season: int) -> Tuple[str, str]: def get_season_poster(seasoninfo: dict, season: int) -> Tuple[str, str]:
+10 -22
View File
@@ -25,29 +25,17 @@ class TmdbApi:
def __init__(self, language: Optional[str] = None): def __init__(self, language: Optional[str] = None):
# TMDB主体 # TMDB主体
self.tmdb = TMDb() self.tmdb = TMDb(language=language)
# 域名
self.tmdb.domain = settings.TMDB_API_DOMAIN
# 开启缓存
self.tmdb.cache = True
# APIKEY
self.tmdb.api_key = settings.TMDB_API_KEY
# 语种
self.tmdb.language = language or settings.TMDB_LOCALE
# 代理
self.tmdb.proxies = settings.PROXY
# 调试模式
self.tmdb.debug = False
# TMDB查询对象 # TMDB查询对象
self.search = Search() self.search = Search(language=language)
self.movie = Movie() self.movie = Movie(language=language)
self.tv = TV() self.tv = TV(language=language)
self.season_obj = Season() self.season_obj = Season(language=language)
self.episode_obj = Episode() self.episode_obj = Episode(language=language)
self.discover = Discover() self.discover = Discover(language=language)
self.trending = Trending() self.trending = Trending(language=language)
self.person = Person() self.person = Person(language=language)
self.collection = Collection() self.collection = Collection(language=language)
def search_multiis(self, title: str) -> List[dict]: def search_multiis(self, title: str) -> List[dict]:
""" """
+6 -6
View File
@@ -19,15 +19,15 @@ class TMDb(object):
_req = None _req = None
_session = None _session = None
def __init__(self, obj_cached=True, session=None): def __init__(self, obj_cached=True, session=None, language=None):
self._api_key = None self._api_key = settings.TMDB_API_KEY
self._language = "en-US" self._language = language or settings.TMDB_LOCALE or "en-US"
self._session_id = None self._session_id = None
self._wait_on_rate_limit = True self._wait_on_rate_limit = True
self._debug_enabled = False self._debug_enabled = False
self._cache_enabled = True self._cache_enabled = obj_cached
self._proxies = None self._proxies = settings.PROXY
self._domain = None self._domain = settings.TMDB_API_DOMAIN
self._page = None self._page = None
self._total_results = None self._total_results = None
self._total_pages = None self._total_pages = None