fix #553 修复unraid删除资源慢的问题
This commit is contained in:
@ -1,3 +1,4 @@
|
|||||||
|
import glob
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import threading
|
import threading
|
||||||
@ -601,8 +602,10 @@ class TransferChain(ChainBase):
|
|||||||
if not path.exists():
|
if not path.exists():
|
||||||
return
|
return
|
||||||
if path.is_file():
|
if path.is_file():
|
||||||
# 删除文件
|
# 删除文件、nfo、jpg
|
||||||
path.unlink()
|
files = glob.glob(f"{Path(path.parent).joinpath(str(path.name).split('.')[0])}*")
|
||||||
|
for file in files:
|
||||||
|
Path(file).unlink()
|
||||||
logger.warn(f"文件 {path} 已删除")
|
logger.warn(f"文件 {path} 已删除")
|
||||||
# 需要删除父目录
|
# 需要删除父目录
|
||||||
elif str(path.parent) == str(path.root):
|
elif str(path.parent) == str(path.root):
|
||||||
@ -615,11 +618,25 @@ class TransferChain(ChainBase):
|
|||||||
# 删除目录
|
# 删除目录
|
||||||
logger.warn(f"目录 {path} 已删除")
|
logger.warn(f"目录 {path} 已删除")
|
||||||
# 需要删除父目录
|
# 需要删除父目录
|
||||||
# 判断父目录是否为空, 为空则删除
|
|
||||||
for parent_path in path.parents:
|
# 判断当前媒体父路径下是否有媒体文件,如有则无需遍历父级
|
||||||
if str(parent_path.parent) != str(path.root):
|
files = SystemUtils.list_files(path.parent, settings.RMT_MEDIAEXT)
|
||||||
# 父目录非根目录,才删除父目录
|
if not files:
|
||||||
files = SystemUtils.list_files(parent_path, settings.RMT_MEDIAEXT)
|
# 媒体库二级分类根路径
|
||||||
if not files:
|
library_root_names = [
|
||||||
shutil.rmtree(parent_path)
|
settings.LIBRARY_MOVIE_NAME or '电影',
|
||||||
logger.warn(f"目录 {parent_path} 已删除")
|
settings.LIBRARY_TV_NAME or '电视剧',
|
||||||
|
settings.LIBRARY_ANIME_NAME or '动漫',
|
||||||
|
]
|
||||||
|
|
||||||
|
# 判断父目录是否为空, 为空则删除
|
||||||
|
for parent_path in path.parents:
|
||||||
|
# 遍历父目录到媒体库二级分类根路径
|
||||||
|
if str(parent_path.name) in library_root_names:
|
||||||
|
break
|
||||||
|
if str(parent_path.parent) != str(path.root):
|
||||||
|
# 父目录非根目录,才删除父目录
|
||||||
|
files = SystemUtils.list_files(parent_path, settings.RMT_MEDIAEXT)
|
||||||
|
if not files:
|
||||||
|
shutil.rmtree(parent_path)
|
||||||
|
logger.warn(f"目录 {parent_path} 已删除")
|
||||||
|
Reference in New Issue
Block a user