add apis
This commit is contained in:
@ -192,6 +192,29 @@ class TheMovieDbModule(_ModuleBase):
|
||||
file_path=file)
|
||||
logger.info(f"{file} 刮削完成")
|
||||
|
||||
def tmdb_discover(self, mtype: MediaType, sort_by: str, with_genres: str, with_original_language: str,
|
||||
page: int = 1) -> Optional[List[dict]]:
|
||||
"""
|
||||
:param mtype: 媒体类型
|
||||
:param sort_by: 排序方式
|
||||
:param with_genres: 类型
|
||||
:param with_original_language: 语言
|
||||
:param page: 页码
|
||||
:return: 媒体信息列表
|
||||
"""
|
||||
if mtype == MediaType.MOVIE:
|
||||
return self.tmdb.discover_movies(sort_by=sort_by,
|
||||
with_genres=with_genres,
|
||||
with_original_language=with_original_language,
|
||||
page=page)
|
||||
elif mtype == MediaType.TV:
|
||||
return self.tmdb.discover_tvs(sort_by=sort_by,
|
||||
with_genres=with_genres,
|
||||
with_original_language=with_original_language,
|
||||
page=page)
|
||||
else:
|
||||
return None
|
||||
|
||||
def gen_scraper_files(self, mediainfo: MediaInfo, file_path: Path):
|
||||
"""
|
||||
生成刮削文件
|
||||
|
@ -5,7 +5,7 @@ from urllib.parse import quote
|
||||
|
||||
import zhconv
|
||||
from lxml import etree
|
||||
from tmdbv3api import TMDb, Search, Movie, TV, Season, Episode
|
||||
from tmdbv3api import TMDb, Search, Movie, TV, Season, Episode, Discover
|
||||
from tmdbv3api.exceptions import TMDbException
|
||||
|
||||
from app.core.config import settings
|
||||
@ -48,6 +48,7 @@ class TmdbHelper:
|
||||
self.tv = TV()
|
||||
self.season = Season()
|
||||
self.episode = Episode()
|
||||
self.discover = Discover()
|
||||
|
||||
def search_multiis(self, title: str) -> List[dict]:
|
||||
"""
|
||||
@ -979,3 +980,41 @@ class TmdbHelper:
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
return {}
|
||||
|
||||
def discover_movies(self, **kwargs):
|
||||
"""
|
||||
发现电影
|
||||
:param kwargs:
|
||||
:return:
|
||||
"""
|
||||
if not self.discover:
|
||||
return []
|
||||
try:
|
||||
logger.info(f"正在发现电影:{kwargs}...")
|
||||
tmdbinfo = self.discover.discover_movies(kwargs)
|
||||
if tmdbinfo:
|
||||
for info in tmdbinfo:
|
||||
info['media_type'] = MediaType.MOVIE
|
||||
return tmdbinfo or []
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
return []
|
||||
|
||||
def discover_tvs(self, **kwargs):
|
||||
"""
|
||||
发现电视剧
|
||||
:param kwargs:
|
||||
:return:
|
||||
"""
|
||||
if not self.discover:
|
||||
return []
|
||||
try:
|
||||
logger.info(f"正在发现电视剧:{kwargs}...")
|
||||
tmdbinfo = self.discover.discover_tv_shows(kwargs)
|
||||
if tmdbinfo:
|
||||
for info in tmdbinfo:
|
||||
info['media_type'] = MediaType.TV
|
||||
return tmdbinfo or []
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
return []
|
||||
|
Reference in New Issue
Block a user