This commit is contained in:
jxxghp
2024-02-11 21:35:11 +08:00
parent 16b79754c3
commit 164ce8f7c4
6 changed files with 40 additions and 16 deletions

View File

@ -44,12 +44,14 @@ class TheMovieDbModule(_ModuleBase):
def recognize_media(self, meta: MetaBase = None,
mtype: MediaType = None,
tmdbid: int = None,
cache: bool = True,
**kwargs) -> Optional[MediaInfo]:
"""
识别媒体信息
:param meta: 识别的元数据
:param mtype: 识别的媒体类型与tmdbid配套
:param tmdbid: tmdbid
:param cache: 是否使用缓存
:return: 识别的媒体信息,包括剧集信息
"""
if settings.RECOGNIZE_SOURCE != "themoviedb":
@ -57,11 +59,17 @@ class TheMovieDbModule(_ModuleBase):
if not meta:
cache_info = {}
elif not meta.name:
logger.warn("识别媒体信息时未提供元数据名称")
return None
else:
if mtype:
meta.type = mtype
if tmdbid:
meta.tmdbid = tmdbid
# 读取缓存
cache_info = self.cache.get(meta)
if not cache_info:
if not cache_info or not cache:
# 缓存没有或者强制不使用缓存
if tmdbid:
# 直接查询详情
@ -111,7 +119,7 @@ class TheMovieDbModule(_ModuleBase):
logger.error("识别媒体信息时未提供元数据或tmdbid")
return None
# 保存到缓存
if meta:
if meta and cache:
self.cache.update(meta, info)
else:
# 使用缓存信息

View File

@ -50,7 +50,7 @@ class TmdbCache(metaclass=Singleton):
"""
获取缓存KEY
"""
return f"[{meta.type.value if meta.type else '未知'}]{meta.name}-{meta.year}-{meta.begin_season}"
return f"[{meta.type.value if meta.type else '未知'}]{meta.name or meta.tmdbid}-{meta.year}-{meta.begin_season}"
def get(self, meta: MetaBase):
"""