@@ -205,6 +205,8 @@ def __do_transfer(self, fileitem: FileItem,
205
205
skip_num = 0
206
206
# 本次整理方式
207
207
current_transfer_type = transfer_type
208
+ # 是否全部成功
209
+ all_success = True
208
210
209
211
# 获取待整理路径清单
210
212
trans_items = self .__get_trans_fileitems (fileitem )
@@ -284,6 +286,7 @@ def __do_transfer(self, fileitem: FileItem,
284
286
# 计数
285
287
processed_num += 1
286
288
skip_num += 1
289
+ all_success = False
287
290
continue
288
291
289
292
# 整理成功的不再处理
@@ -294,6 +297,7 @@ def __do_transfer(self, fileitem: FileItem,
294
297
# 计数
295
298
processed_num += 1
296
299
skip_num += 1
300
+ all_success = False
297
301
continue
298
302
299
303
# 更新进度
@@ -317,6 +321,7 @@ def __do_transfer(self, fileitem: FileItem,
317
321
# 计数
318
322
processed_num += 1
319
323
fail_num += 1
324
+ all_success = False
320
325
continue
321
326
322
327
# 自定义识别
@@ -353,6 +358,7 @@ def __do_transfer(self, fileitem: FileItem,
353
358
# 计数
354
359
processed_num += 1
355
360
fail_num += 1
361
+ all_success = False
356
362
continue
357
363
358
364
# 如果未开启新增已入库媒体是否跟随TMDB信息变化则根据tmdbid查询之前的title
@@ -430,6 +436,7 @@ def __do_transfer(self, fileitem: FileItem,
430
436
# 计数
431
437
processed_num += 1
432
438
fail_num += 1
439
+ all_success = False
433
440
continue
434
441
435
442
# 汇总信息
@@ -500,21 +507,20 @@ def __do_transfer(self, fileitem: FileItem,
500
507
})
501
508
502
509
# 移动模式处理
503
- if current_transfer_type in ["move" ]:
510
+ if all_success and current_transfer_type in ["move" ]:
504
511
# 下载器hash
505
512
if download_hash :
506
513
if self .remove_torrents (download_hash ):
507
514
logger .info (f"移动模式删除种子成功:{ download_hash } " )
508
- # 删除残留文件
515
+ # 删除残留目录
509
516
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 )
518
524
519
525
# 结束进度
520
526
logger .info (f"{ fileitem .path } 整理完成,共 { total_num } 个文件,"
0 commit comments