mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
feat: 音乐识别与刮削统一入口整合
- 音乐识别统一走 recognize_media,移除 MusicChain.recognize/async_recognize 及 /music/search 独立端点 - 音乐刮削收拢到 MediaChain.scrape_music_metadata,消除 MusicChain 对 MediaChain 的嵌套引用 - MetaInfo/MetaInfoPath 增加 force_video 参数,影视附加音轨保留季集归属 - 整理、订阅、搜索、API 层音乐识别入口全部统一
This commit is contained in:
+10
-8
@@ -1340,29 +1340,31 @@ class SubscribeChain(ChainBase):
|
||||
@staticmethod
|
||||
def _recognize_music_subscribe(subscribe: Subscribe) -> Optional[MusicInfo]:
|
||||
"""按订阅身份恢复音乐目标,缺少身份时按标题查询首个候选。"""
|
||||
musicchain = MusicChain()
|
||||
if subscribe.media_source and subscribe.media_id:
|
||||
mediainfo = musicchain.recognize(
|
||||
# 与影视共用统一识别入口,按媒体源和原生 ID 恢复音乐详情
|
||||
mediainfo = MediaChain().recognize_media(
|
||||
source=subscribe.media_source,
|
||||
media_id=str(subscribe.media_id),
|
||||
mediaid=str(subscribe.media_id),
|
||||
mtype=MediaType.MUSIC,
|
||||
)
|
||||
if mediainfo:
|
||||
return mediainfo
|
||||
candidates = musicchain.search(subscribe.name, limit=1)
|
||||
candidates = MusicChain().search(subscribe.name, limit=1)
|
||||
return candidates[0] if candidates else None
|
||||
|
||||
@staticmethod
|
||||
async def _async_recognize_music_subscribe(subscribe: Subscribe) -> Optional[MusicInfo]:
|
||||
"""异步按订阅身份恢复音乐目标,缺少身份时按标题查询首个候选。"""
|
||||
musicchain = MusicChain()
|
||||
if subscribe.media_source and subscribe.media_id:
|
||||
mediainfo = await musicchain.async_recognize(
|
||||
# 与影视共用统一识别入口,按媒体源和原生 ID 恢复音乐详情
|
||||
mediainfo = await MediaChain().async_recognize_media(
|
||||
source=subscribe.media_source,
|
||||
media_id=str(subscribe.media_id),
|
||||
mediaid=str(subscribe.media_id),
|
||||
mtype=MediaType.MUSIC,
|
||||
)
|
||||
if mediainfo:
|
||||
return mediainfo
|
||||
candidates = await musicchain.async_search(subscribe.name, limit=1)
|
||||
candidates = await MusicChain().async_search(subscribe.name, limit=1)
|
||||
return candidates[0] if candidates else None
|
||||
|
||||
def _search_music_subscribe(self, subscribe: Subscribe) -> None:
|
||||
|
||||
Reference in New Issue
Block a user