From ee5976a03e4eac1f71ec226f4bcf465cda1fc5f5 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 20 Sep 2024 12:17:50 +0800 Subject: [PATCH] fix transfer --- app/db/transferhistory_oper.py | 4 ++-- app/modules/filemanager/__init__.py | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/db/transferhistory_oper.py b/app/db/transferhistory_oper.py index 247820d7..314fd318 100644 --- a/app/db/transferhistory_oper.py +++ b/app/db/transferhistory_oper.py @@ -128,9 +128,9 @@ class TransferHistoryOper(DbOper): src=fileitem.path, src_storage=fileitem.storage, src_fileitem=json.dumps(fileitem.dict()), - dest=transferinfo.target_item.path, + dest=transferinfo.target_item.path if transferinfo.target_item else None, dest_storage=transferinfo.target_item.storage, - dest_fileitem=json.dumps(transferinfo.target_item.dict()), + dest_fileitem=json.dumps(transferinfo.target_item.dict()) if transferinfo.target_item else None, mode=mode, type=mediainfo.type.value, category=mediainfo.category, diff --git a/app/modules/filemanager/__init__.py b/app/modules/filemanager/__init__.py index 9da0b16b..14a3b3d5 100644 --- a/app/modules/filemanager/__init__.py +++ b/app/modules/filemanager/__init__.py @@ -387,6 +387,9 @@ class FileManagerModule(_ModuleBase): # 加锁 with lock: if fileitem.storage == "local" and target_storage == "local": + # 创建目录 + if not target_file.parent.exists(): + target_file.parent.mkdir(parents=True) # 本地到本地 if transfer_type == "copy": state = source_oper.copy(fileitem, target_file) @@ -444,6 +447,9 @@ class FileManagerModule(_ModuleBase): # 下载 tmp_file = source_oper.download(fileitem) if tmp_file: + # 创建目录 + if not target_file.parent.exists(): + target_file.parent.mkdir(parents=True) # 将tmp_file移动后target_file tmp_file.rename(target_file) return __get_targetitem(target_file), "" @@ -453,6 +459,8 @@ class FileManagerModule(_ModuleBase): # 下载 tmp_file = source_oper.download(fileitem) if tmp_file: + if not target_file.parent.exists(): + target_file.parent.mkdir(parents=True) # 将tmp_file移动后target_file tmp_file.rename(target_file) # 删除源文件