This commit is contained in:
jxxghp
2023-06-18 15:59:38 +08:00
parent 5dd7878e1b
commit 104ae59e18
19 changed files with 425 additions and 181 deletions

View File

@ -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):
"""
生成刮削文件

View File

@ -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 []