mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-06-08 07:26:48 +00:00
fix: improve manual transfer recognition preview
This commit is contained in:
@@ -222,6 +222,9 @@ def manual_transfer(
|
||||
explicit_selected_files = bool(transer_item.fileitems)
|
||||
|
||||
def _build_failure_preview_item(file_item: FileItem, message: str) -> dict:
|
||||
"""
|
||||
构造手动整理预览失败项。
|
||||
"""
|
||||
return {
|
||||
"source": file_item.path if file_item else None,
|
||||
"target": None,
|
||||
@@ -234,9 +237,16 @@ def manual_transfer(
|
||||
"episode": None,
|
||||
"episode_end": None,
|
||||
"part": None,
|
||||
"org_string": None,
|
||||
"apply_words": [],
|
||||
"resource_team": None,
|
||||
"customization": None,
|
||||
}
|
||||
|
||||
def _merge_messages(messages: List[str]) -> str:
|
||||
"""
|
||||
合并手动整理批量预览提示信息。
|
||||
"""
|
||||
valid_messages = [msg for msg in messages if msg]
|
||||
if not valid_messages:
|
||||
return ""
|
||||
|
||||
@@ -2792,6 +2792,10 @@ class TransferChain(ChainBase, ConfigReloadMixin, metaclass=Singleton):
|
||||
"episode": item_meta.begin_episode if item_meta else None,
|
||||
"episode_end": item_meta.end_episode if item_meta else None,
|
||||
"part": item_meta.part if item_meta else None,
|
||||
"org_string": item_meta.org_string if item_meta else None,
|
||||
"apply_words": item_meta.apply_words if item_meta else [],
|
||||
"resource_team": item_meta.resource_team if item_meta else None,
|
||||
"customization": item_meta.customization if item_meta else None,
|
||||
}
|
||||
)
|
||||
return transferinfo.success, transferinfo.message
|
||||
@@ -2867,6 +2871,10 @@ class TransferChain(ChainBase, ConfigReloadMixin, metaclass=Singleton):
|
||||
"episode": transfer_task.meta.begin_episode if transfer_task.meta else None,
|
||||
"episode_end": transfer_task.meta.end_episode if transfer_task.meta else None,
|
||||
"part": transfer_task.meta.part if transfer_task.meta else None,
|
||||
"org_string": transfer_task.meta.org_string if transfer_task.meta else None,
|
||||
"apply_words": transfer_task.meta.apply_words if transfer_task.meta else [],
|
||||
"resource_team": transfer_task.meta.resource_team if transfer_task.meta else None,
|
||||
"customization": transfer_task.meta.customization if transfer_task.meta else None,
|
||||
}
|
||||
)
|
||||
fail_num += 1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Cython~=3.1.2
|
||||
moviepilot-rust~=0.1.5
|
||||
moviepilot-rust~=0.1.6
|
||||
pydantic>=2.0.0,<3.0.0
|
||||
pydantic-settings>=2.0.0,<3.0.0
|
||||
SQLAlchemy~=2.0.41
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
from unittest import TestCase
|
||||
from unittest.mock import patch
|
||||
|
||||
from tests.cases.groups import release_group_cases
|
||||
from app.core.meta.releasegroup import ReleaseGroupsMatcher
|
||||
|
||||
@@ -12,3 +14,18 @@ class MetaInfoTest(TestCase):
|
||||
print(f"\tmatch release group {release_group}, should be: {item.get('group')}")
|
||||
self.assertEqual(item.get("group"), release_group)
|
||||
print(f"完成 {info.get('domain')}")
|
||||
|
||||
def test_custom_release_group_matches_multiple_adjacent_groups(self):
|
||||
"""自定义制作组共用分隔符时,应完整保留所有命中项。"""
|
||||
matcher = ReleaseGroupsMatcher()
|
||||
|
||||
with patch.object(
|
||||
matcher.systemconfig,
|
||||
"get",
|
||||
return_value=["VCB-Studio|hyakuhuyu|DMG|GM-Team"],
|
||||
):
|
||||
release_group = matcher.match(
|
||||
"[DMG&VCB-Studio] Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e"
|
||||
)
|
||||
|
||||
self.assertEqual("DMG@VCB-Studio", release_group)
|
||||
|
||||
Reference in New Issue
Block a user