feat(event): add mediainfo field for TransferInterceptEventData

This commit is contained in:
InfinityPacer
2025-02-03 01:46:22 +08:00
parent 6f24c6ba49
commit f2d3b1c13f
2 changed files with 9 additions and 2 deletions
+8 -2
View File
@@ -746,11 +746,12 @@ class FileManagerModule(_ModuleBase):
logger.error(f"音轨文件 {org_path.name} 整理失败:{str(error)}") logger.error(f"音轨文件 {org_path.name} 整理失败:{str(error)}")
return True, "" 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]: target_storage: str, target_path: Path) -> Tuple[Optional[FileItem], str]:
""" """
整理整个文件夹 整理整个文件夹
:param fileitem: 源文件 :param fileitem: 源文件
:param mediainfo: 媒体信息
:param transfer_type: 整理方式 :param transfer_type: 整理方式
:param target_storage: 目标存储 :param target_storage: 目标存储
:param target_path: 目标路径 :param target_path: 目标路径
@@ -766,6 +767,7 @@ class FileManagerModule(_ModuleBase):
return None, f"获取目标目录失败:{target_path}" return None, f"获取目标目录失败:{target_path}"
event_data = TransferInterceptEventData( event_data = TransferInterceptEventData(
fileitem=fileitem, fileitem=fileitem,
mediainfo=mediainfo,
target_storage=target_storage, target_storage=target_storage,
target_path=target_path, target_path=target_path,
transfer_type=transfer_type transfer_type=transfer_type
@@ -827,11 +829,12 @@ class FileManagerModule(_ModuleBase):
# 返回成功 # 返回成功
return True, "" 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]: transfer_type: str, over_flag: bool = False) -> Tuple[Optional[FileItem], str]:
""" """
整理一个文件,同时处理其他相关文件 整理一个文件,同时处理其他相关文件
:param fileitem: 原文件 :param fileitem: 原文件
:param mediainfo: 媒体信息
:param target_storage: 目标存储 :param target_storage: 目标存储
:param target_file: 新文件 :param target_file: 新文件
:param transfer_type: 整理方式 :param transfer_type: 整理方式
@@ -841,6 +844,7 @@ class FileManagerModule(_ModuleBase):
f"操作类型:{transfer_type}") f"操作类型:{transfer_type}")
event_data = TransferInterceptEventData( event_data = TransferInterceptEventData(
fileitem=fileitem, fileitem=fileitem,
mediainfo=mediainfo,
target_storage=target_storage, target_storage=target_storage,
target_path=target_file, target_path=target_file,
transfer_type=transfer_type, transfer_type=transfer_type,
@@ -968,6 +972,7 @@ class FileManagerModule(_ModuleBase):
new_path = target_path / fileitem.name new_path = target_path / fileitem.name
# 整理目录 # 整理目录
new_diritem, errmsg = self.__transfer_dir(fileitem=fileitem, new_diritem, errmsg = self.__transfer_dir(fileitem=fileitem,
mediainfo=mediainfo,
target_storage=target_storage, target_storage=target_storage,
target_path=new_path, target_path=new_path,
transfer_type=transfer_type) transfer_type=transfer_type)
@@ -1097,6 +1102,7 @@ class FileManagerModule(_ModuleBase):
self.__delete_version_files(target_storage, new_file) self.__delete_version_files(target_storage, new_file)
# 整理文件 # 整理文件
new_item, err_msg = self.__transfer_file(fileitem=fileitem, new_item, err_msg = self.__transfer_file(fileitem=fileitem,
mediainfo=mediainfo,
target_storage=target_storage, target_storage=target_storage,
target_file=new_file, target_file=new_file,
transfer_type=transfer_type, transfer_type=transfer_type,
+1
View File
@@ -223,6 +223,7 @@ class TransferInterceptEventData(ChainEventData):
""" """
# 输入参数 # 输入参数
fileitem: FileItem = Field(..., description="源文件") fileitem: FileItem = Field(..., description="源文件")
mediainfo: Any = Field(..., description="媒体信息")
target_storage: str = Field(..., description="目标存储") target_storage: str = Field(..., description="目标存储")
target_path: Path = Field(..., description="目标路径") target_path: Path = Field(..., description="目标路径")
transfer_type: str = Field(..., description="整理方式") transfer_type: str = Field(..., description="整理方式")