42 lines
1.9 KiB
Python
42 lines
1.9 KiB
Python
from typing import List
|
||
|
||
from app.chain import ChainBase
|
||
from app.core.context import MediaInfo
|
||
from app.log import logger
|
||
from app.schemas import MediaType
|
||
|
||
|
||
class TmdbChain(ChainBase):
|
||
|
||
def tmdb_movies(self, sort_by: str, with_genres: str, with_original_language: str,
|
||
page: int = 1) -> List[MediaInfo]:
|
||
"""
|
||
浏览TMDB电影信息
|
||
"""
|
||
logger.info(f'开始获取TMDB电影列表,排序:{sort_by},类型:{with_genres},语言:{with_original_language}')
|
||
movies = self.tmdb_discover(mtype=MediaType.MOVIE,
|
||
sort_by=sort_by,
|
||
with_genres=with_genres,
|
||
with_original_language=with_original_language,
|
||
page=page)
|
||
if not movies:
|
||
logger.warn(f'TMDB电影列表为空,排序:{sort_by},类型:{with_genres},语言:{with_original_language}')
|
||
return []
|
||
return [MediaInfo(tmdb_info=movie) for movie in movies]
|
||
|
||
def tmdb_tvs(self, sort_by: str, with_genres: str, with_original_language: str,
|
||
page: int = 1) -> List[MediaInfo]:
|
||
"""
|
||
浏览TMDB剧集信息
|
||
"""
|
||
logger.info(f'开始获取TMDB剧集列表,排序:{sort_by},类型:{with_genres},语言:{with_original_language}')
|
||
tvs = self.tmdb_discover(mtype=MediaType.TV,
|
||
sort_by=sort_by,
|
||
with_genres=with_genres,
|
||
with_original_language=with_original_language,
|
||
page=page)
|
||
if not tvs:
|
||
logger.warn(f'TMDB剧集列表为空,排序:{sort_by},类型:{with_genres},语言:{with_original_language}')
|
||
return []
|
||
return [MediaInfo(tmdb_info=tv) for tv in tvs]
|