From f2d3b1c13f0c6352f0d78a773d75430cd872cb93 Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Mon, 3 Feb 2025 00:39:01 +0800 Subject: [PATCH] feat(event): add mediainfo field for TransferInterceptEventData --- app/modules/filemanager/__init__.py | 10 ++++++++-- app/schemas/event.py | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/modules/filemanager/__init__.py b/app/modules/filemanager/__init__.py index a22ffe72..5749bbe4 100644 --- a/app/modules/filemanager/__init__.py +++ b/app/modules/filemanager/__init__.py @@ -746,11 +746,12 @@ class FileManagerModule(_ModuleBase): logger.error(f"音轨文件 {org_path.name} 整理失败:{str(error)}") return True, "" - def __transfer_dir(self, fileitem: FileItem, transfer_type: str, + def __transfer_dir(self, fileitem: FileItem, mediainfo: MediaInfo, transfer_type: str, target_storage: str, target_path: Path) -> Tuple[Optional[FileItem], str]: """ 整理整个文件夹 :param fileitem: 源文件 + :param mediainfo: 媒体信息 :param transfer_type: 整理方式 :param target_storage: 目标存储 :param target_path: 目标路径 @@ -766,6 +767,7 @@ class FileManagerModule(_ModuleBase): return None, f"获取目标目录失败:{target_path}" event_data = TransferInterceptEventData( fileitem=fileitem, + mediainfo=mediainfo, target_storage=target_storage, target_path=target_path, transfer_type=transfer_type @@ -827,11 +829,12 @@ class FileManagerModule(_ModuleBase): # 返回成功 return True, "" - def __transfer_file(self, fileitem: FileItem, target_storage: str, target_file: Path, + def __transfer_file(self, fileitem: FileItem, mediainfo: MediaInfo, target_storage: str, target_file: Path, transfer_type: str, over_flag: bool = False) -> Tuple[Optional[FileItem], str]: """ 整理一个文件,同时处理其他相关文件 :param fileitem: 原文件 + :param mediainfo: 媒体信息 :param target_storage: 目标存储 :param target_file: 新文件 :param transfer_type: 整理方式 @@ -841,6 +844,7 @@ class FileManagerModule(_ModuleBase): f"操作类型:{transfer_type}") event_data = TransferInterceptEventData( fileitem=fileitem, + mediainfo=mediainfo, target_storage=target_storage, target_path=target_file, transfer_type=transfer_type, @@ -968,6 +972,7 @@ class FileManagerModule(_ModuleBase): new_path = target_path / fileitem.name # 整理目录 new_diritem, errmsg = self.__transfer_dir(fileitem=fileitem, + mediainfo=mediainfo, target_storage=target_storage, target_path=new_path, transfer_type=transfer_type) @@ -1097,6 +1102,7 @@ class FileManagerModule(_ModuleBase): self.__delete_version_files(target_storage, new_file) # 整理文件 new_item, err_msg = self.__transfer_file(fileitem=fileitem, + mediainfo=mediainfo, target_storage=target_storage, target_file=new_file, transfer_type=transfer_type, diff --git a/app/schemas/event.py b/app/schemas/event.py index 9c8220fa..41f7754c 100644 --- a/app/schemas/event.py +++ b/app/schemas/event.py @@ -223,6 +223,7 @@ class TransferInterceptEventData(ChainEventData): """ # 输入参数 fileitem: FileItem = Field(..., description="源文件") + mediainfo: Any = Field(..., description="媒体信息") target_storage: str = Field(..., description="目标存储") target_path: Path = Field(..., description="目标路径") transfer_type: str = Field(..., description="整理方式")