fix 修复删除源文件

This commit is contained in:
thsrite
2024-11-15 13:19:40 +08:00
parent 0d6836df6c
commit 3140ff293b
2 changed files with 13 additions and 5 deletions

View File

@@ -176,12 +176,12 @@
"name": "媒体文件同步删除",
"description": "同步删除历史记录、源文件和下载任务。",
"labels": "媒体库,文件整理",
"version": "1.8.5",
"version": "1.8.6",
"icon": "mediasyncdel.png",
"author": "thsrite",
"level": 1,
"history": {
"v1.8.5": "修复删除源文件",
"v1.8.6": "修复删除源文件",
"v1.8.4": "修复暂停种子失败",
"v1.8.3": "修复源文件删除",
"v1.8.1": "适配v2多媒体服务器移除日志方式",

View File

@@ -25,7 +25,7 @@ class MediaSyncDel(_PluginBase):
# 插件图标
plugin_icon = "mediasyncdel.png"
# 插件版本
plugin_version = "1.8.5"
plugin_version = "1.8.6"
# 插件作者
plugin_author = "thsrite"
# 作者主页
@@ -50,12 +50,14 @@ class MediaSyncDel(_PluginBase):
_transferhis = None
_downloadhis = None
_default_downloader = None
_storagechain = None
def init_plugin(self, config: dict = None):
self._transferchain = TransferChain()
self._downloader_helper = DownloaderHelper()
self._transferhis = self._transferchain.transferhis
self._downloadhis = self._transferchain.downloadhis
self._storagechain = StorageChain()
# 读取配置
if config:
@@ -765,11 +767,17 @@ class MediaSyncDel(_PluginBase):
if self._del_source:
# 1、直接删除源文件
if transferhis.src and Path(transferhis.src).suffix in settings.RMT_MEDIAEXT:
StorageChain().delete_file(schemas.FileItem(**transferhis.dest_fileitem))
self._storagechain.delete_file(schemas.FileItem(**transferhis.dest_fileitem))
src_fileitem = schemas.FileItem(**transferhis.src_fileitem)
logger.info(f"开始删除源文件 {src_fileitem.path}")
state = StorageChain().delete_file(src_fileitem)
state = self._storagechain.delete_file(src_fileitem)
if state and transferhis.download_hash:
folder_item = self._storagechain.get_parent_item(src_fileitem)
if folder_item and not self._storagechain.any_files(folder_item,
extensions=settings.RMT_MEDIAEXT):
logger.warn(f"删除残留空文件夹:【{folder_item.storage}{folder_item.path}")
self._storagechain.delete_file(folder_item)
try:
# 2、判断种子是否被删除完
delete_flag, success_flag, handle_torrent_hashs = self.handle_torrent(