Skip to content

Commit 00f1f06

Browse files
committedNov 15, 2024
fix #3079
1 parent fe37bde commit 00f1f06

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed
 

‎app/chain/transfer.py

+16-10
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ def __do_transfer(self, fileitem: FileItem,
205205
skip_num = 0
206206
# 本次整理方式
207207
current_transfer_type = transfer_type
208+
# 是否全部成功
209+
all_success = True
208210

209211
# 获取待整理路径清单
210212
trans_items = self.__get_trans_fileitems(fileitem)
@@ -284,6 +286,7 @@ def __do_transfer(self, fileitem: FileItem,
284286
# 计数
285287
processed_num += 1
286288
skip_num += 1
289+
all_success = False
287290
continue
288291

289292
# 整理成功的不再处理
@@ -294,6 +297,7 @@ def __do_transfer(self, fileitem: FileItem,
294297
# 计数
295298
processed_num += 1
296299
skip_num += 1
300+
all_success = False
297301
continue
298302

299303
# 更新进度
@@ -317,6 +321,7 @@ def __do_transfer(self, fileitem: FileItem,
317321
# 计数
318322
processed_num += 1
319323
fail_num += 1
324+
all_success = False
320325
continue
321326

322327
# 自定义识别
@@ -353,6 +358,7 @@ def __do_transfer(self, fileitem: FileItem,
353358
# 计数
354359
processed_num += 1
355360
fail_num += 1
361+
all_success = False
356362
continue
357363

358364
# 如果未开启新增已入库媒体是否跟随TMDB信息变化则根据tmdbid查询之前的title
@@ -430,6 +436,7 @@ def __do_transfer(self, fileitem: FileItem,
430436
# 计数
431437
processed_num += 1
432438
fail_num += 1
439+
all_success = False
433440
continue
434441

435442
# 汇总信息
@@ -500,21 +507,20 @@ def __do_transfer(self, fileitem: FileItem,
500507
})
501508

502509
# 移动模式处理
503-
if current_transfer_type in ["move"]:
510+
if all_success and current_transfer_type in ["move"]:
504511
# 下载器hash
505512
if download_hash:
506513
if self.remove_torrents(download_hash):
507514
logger.info(f"移动模式删除种子成功:{download_hash} ")
508-
# 删除残留文件
515+
# 删除残留目录
509516
if fileitem:
510-
logger.warn(f"删除残留文件夹:【{fileitem.storage}{fileitem.path}")
511-
if self.storagechain.delete_file(fileitem):
512-
# 删除空的父目录
513-
dir_item = self.storagechain.get_parent_item(fileitem)
514-
if dir_item:
515-
if not self.storagechain.any_files(dir_item, extensions=settings.RMT_MEDIAEXT):
516-
logger.warn(f"正在删除空目录:【{dir_item.storage}{dir_item.path}")
517-
return self.storagechain.delete_file(dir_item)
517+
if fileitem.type == "dir":
518+
folder_item = fileitem
519+
else:
520+
folder_item = self.storagechain.get_parent_item(fileitem)
521+
if folder_item and not self.storagechain.any_files(folder_item, extensions=settings.RMT_MEDIAEXT):
522+
logger.warn(f"删除残留空文件夹:【{folder_item.storage}{folder_item.path}")
523+
self.storagechain.delete_file(folder_item)
518524

519525
# 结束进度
520526
logger.info(f"{fileitem.path} 整理完成,共 {total_num} 个文件,"

0 commit comments

Comments
 (0)
Please sign in to comment.