This commit is contained in:
jxxghp
2025-01-27 17:08:22 +08:00
parent 2e796f41cb
commit 2ed9cfcc9a
6 changed files with 65 additions and 18 deletions

View File

@@ -17,7 +17,7 @@ class BangumiChain(ChainBase, metaclass=Singleton):
"""
return self.run_module("bangumi_calendar")
def bangumi_discover(self, **kwargs) -> Optional[List[MediaInfo]]:
def discover(self, **kwargs) -> Optional[List[MediaInfo]]:
"""
发现Bangumi番剧
"""

View File

@@ -161,6 +161,7 @@ class RecommendChain(ChainBase, metaclass=Singleton):
with_genres: str = "",
with_original_language: str = "",
with_keywords: str = "",
with_watch_providers: str = "",
vote_average: float = 0,
vote_count: int = 0,
release_date: str = "",
@@ -173,6 +174,7 @@ class RecommendChain(ChainBase, metaclass=Singleton):
with_genres=with_genres,
with_original_language=with_original_language,
with_keywords=with_keywords,
with_watch_providers=with_watch_providers,
vote_average=vote_average,
vote_count=vote_count,
release_date=release_date,
@@ -185,6 +187,7 @@ class RecommendChain(ChainBase, metaclass=Singleton):
with_genres: str = "",
with_original_language: str = "zh|en|ja|ko",
with_keywords: str = "",
with_watch_providers: str = "",
vote_average: float = 0,
vote_count: int = 0,
release_date: str = "",
@@ -197,6 +200,7 @@ class RecommendChain(ChainBase, metaclass=Singleton):
with_genres=with_genres,
with_original_language=with_original_language,
with_keywords=with_keywords,
with_watch_providers=with_watch_providers,
vote_average=vote_average,
vote_count=vote_count,
release_date=release_date,
@@ -221,6 +225,23 @@ class RecommendChain(ChainBase, metaclass=Singleton):
medias = self.bangumichain.calendar()
return [media.to_dict() for media in medias[(page - 1) * count: page * count]] if medias else []
@log_execution_time(logger=logger)
@cached(ttl=recommend_ttl, region=recommend_cache_region)
def bangumi_discover(self, type: int = 2,
cat: int = None,
sort: str = 'rank',
year: int = None,
count: int = 30,
page: int = 1) -> Any:
"""
搜索Bangumi
"""
medias = self.bangumichain.discover(type=type, cat=cat, sort=sort, year=year,
limit=count, offset=(page - 1) * count)
if medias:
return [media.to_dict() for media in medias]
return []
@log_execution_time(logger=logger)
@cached(ttl=recommend_ttl, region=recommend_cache_region)
def douban_movie_showing(self, page: int = 1, count: int = 30) -> Any:

View File

@@ -19,6 +19,7 @@ class TmdbChain(ChainBase, metaclass=Singleton):
with_genres: str,
with_original_language: str,
with_keywords: str,
with_watch_providers: str,
vote_average: float,
vote_count: int,
release_date: str,
@@ -29,6 +30,7 @@ class TmdbChain(ChainBase, metaclass=Singleton):
:param with_genres: 类型
:param with_original_language: 语言
:param with_keywords: 关键字
:param with_watch_providers: 提供商
:param vote_average: 评分
:param vote_count: 评分人数
:param release_date: 上映日期
@@ -36,10 +38,15 @@ class TmdbChain(ChainBase, metaclass=Singleton):
:return: 媒体信息列表
"""
return self.run_module("tmdb_discover", mtype=mtype,
sort_by=sort_by, with_genres=with_genres,
with_original_language=with_original_language, with_keywords=with_keywords,
vote_average=vote_average, vote_count=vote_count,
release_date=release_date, page=page)
sort_by=sort_by,
with_genres=with_genres,
with_original_language=with_original_language,
with_keywords=with_keywords,
with_watch_providers=with_watch_providers,
vote_average=vote_average,
vote_count=vote_count,
release_date=release_date,
page=page)
def tmdb_trending(self, page: int = 1) -> Optional[List[MediaInfo]]:
"""