mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-07 00:16:57 +08:00
feat(recognize): 影视与音乐统一插件辅助识别链路
- 音乐并入 select_recognize_source 统一选择流程,支持插件优先/原生优先,按 MusicNameRecognize 事件与远端身份谓词区分 - 新增 MediaRecognize 链式事件,与 MusicMediaRecognize 对称,统一为 _supplement_media_recognize 补充识别 - 插件回写统一要求 source 与远端身份,采信后统一上报共享识别 - 插件优先模式下辅助识别未取得身份时保留原生兜底结果
This commit is contained in:
@@ -29,7 +29,7 @@ def _music_info() -> MusicInfo:
|
||||
|
||||
|
||||
def test_media_chain_recognize_by_meta_routes_metamusic_to_module(monkeypatch):
|
||||
"""MetaMusic 应绕过影视识别,由统一模块分发直接响应。"""
|
||||
"""MetaMusic 应与影视共用选择流程,由统一模块分发直接响应。"""
|
||||
meta = MetaMusic(title="晴天", artists=["周杰伦"])
|
||||
expected = _music_info()
|
||||
chain = MediaChain()
|
||||
@@ -37,7 +37,11 @@ def test_media_chain_recognize_by_meta_routes_metamusic_to_module(monkeypatch):
|
||||
|
||||
result = chain.recognize_by_meta(meta, source="musicbrainz")
|
||||
|
||||
chain.recognize_media.assert_called_once_with(meta=meta, source="musicbrainz")
|
||||
# 音乐不再旁路辅助识别选择流程,原生识别带共享元数据与剧集组参数
|
||||
chain.recognize_media.assert_called_once()
|
||||
call_kwargs = chain.recognize_media.call_args.kwargs
|
||||
assert call_kwargs["meta"] is meta
|
||||
assert call_kwargs["source"] == "musicbrainz"
|
||||
assert result is expected
|
||||
|
||||
|
||||
@@ -52,7 +56,10 @@ def test_media_chain_async_recognize_by_meta_routes_metamusic_to_module(monkeypa
|
||||
return await chain.async_recognize_by_meta(meta, source="musicbrainz")
|
||||
|
||||
result = asyncio.run(runner())
|
||||
chain.async_recognize_media.assert_awaited_once_with(meta=meta, source="musicbrainz")
|
||||
chain.async_recognize_media.assert_awaited_once()
|
||||
call_kwargs = chain.async_recognize_media.await_args.kwargs
|
||||
assert call_kwargs["meta"] is meta
|
||||
assert call_kwargs["source"] == "musicbrainz"
|
||||
assert result is expected
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user