fix(transfer): keep selected batches internal

This commit is contained in:
yanjunpu
2026-09-08 15:15:14 +08:00
parent 4d7bd96c6b
commit a528523881
3 changed files with 18 additions and 8 deletions

View File

@@ -228,7 +228,7 @@ class TransferHistoryOwner(_TransferOwnerBase):
self.obtain_images(mediainfo=mediainfo)
# 开始整理
state, errmsg = self.do_transfer(
transfer_kwargs = dict(
fileitem=fileitem,
target_storage=target_storage,
target_path=target_path,
@@ -254,8 +254,14 @@ class TransferHistoryOwner(_TransferOwnerBase):
cleanup_dest_fileitem=cleanup_dest_fileitem,
music_release_regions=music_release_regions,
music_release_scripts=music_release_scripts,
selected_fileitems=selected_fileitems,
)
if selected_fileitems is not None:
state, errmsg = self._execute_transfer(
**transfer_kwargs,
selected_fileitems=selected_fileitems,
)
else:
state, errmsg = self.do_transfer(**transfer_kwargs)
if not state:
return False, errmsg
@@ -263,7 +269,7 @@ class TransferHistoryOwner(_TransferOwnerBase):
return True, errmsg if preview else ""
else:
# 没有输入媒体ID时,按文件识别
state, errmsg = self.do_transfer(
transfer_kwargs = dict(
fileitem=fileitem,
target_storage=target_storage,
target_path=target_path,
@@ -287,8 +293,14 @@ class TransferHistoryOwner(_TransferOwnerBase):
cleanup_dest_fileitem=cleanup_dest_fileitem,
music_release_regions=music_release_regions,
music_release_scripts=music_release_scripts,
selected_fileitems=selected_fileitems,
)
if selected_fileitems is not None:
state, errmsg = self._execute_transfer(
**transfer_kwargs,
selected_fileitems=selected_fileitems,
)
else:
state, errmsg = self.do_transfer(**transfer_kwargs)
return state, errmsg
def send_transfer_message(

View File

@@ -373,7 +373,6 @@ class TransferWorkflowOwner(_TransferOwnerBase):
reorganize: Optional[bool] = False,
music_release_regions: Optional[list[str]] = None,
music_release_scripts: Optional[list[str]] = None,
selected_fileitems: Optional[list[FileItem]] = None,
) -> Tuple[bool, Union[str, dict]]:
"""
兼容公开整理入口,委托给内部批次执行阶段。
@@ -410,7 +409,6 @@ class TransferWorkflowOwner(_TransferOwnerBase):
reorganize=reorganize,
music_release_regions=music_release_regions,
music_release_scripts=music_release_scripts,
selected_fileitems=selected_fileitems,
)
def _execute_transfer(self, *args: Any, **kwargs: Any) -> Tuple[bool, Union[str, dict]]:

View File

@@ -184,7 +184,7 @@ def test_selected_music_fileitems_keep_album_batch_context(tmp_path, monkeypatch
monkeypatch.setattr(chain, "_TransferChain__handle_transfer", handle_transfer)
state, message = TransferChain.do_transfer(
state, message = TransferChain._execute_transfer(
chain,
fileitem=fileitems[0],
selected_fileitems=fileitems,
@@ -243,7 +243,7 @@ def test_automatic_music_fileitems_receive_album_identity_and_category(tmp_path,
monkeypatch.setattr(chain, "_TransferChain__handle_transfer", handle_transfer)
state, message = TransferChain.do_transfer(
state, message = TransferChain._execute_transfer(
chain,
fileitem=fileitems[0],
selected_fileitems=fileitems,