From 037fc11307a20559b7f2e816b8a1a719f7e18953 Mon Sep 17 00:00:00 2001 From: thsrite Date: Thu, 31 Oct 2024 14:20:15 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BA=91=E7=9B=98=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E7=9B=91=E6=8E=A7=E5=85=BC=E5=AE=B9v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins.v2/cloudlinkmonitor/__init__.py | 29 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/plugins.v2/cloudlinkmonitor/__init__.py b/plugins.v2/cloudlinkmonitor/__init__.py index 07b4ab4..deb4b49 100644 --- a/plugins.v2/cloudlinkmonitor/__init__.py +++ b/plugins.v2/cloudlinkmonitor/__init__.py @@ -14,6 +14,7 @@ from watchdog.observers import Observer from watchdog.observers.polling import PollingObserver from app import schemas +from app.chain.storage import StorageChain from app.chain.tmdb import TmdbChain from app.chain.transfer import TransferChain from app.core.config import settings @@ -60,7 +61,7 @@ class CloudLinkMonitor(_PluginBase): # 插件图标 plugin_icon = "Linkease_A.png" # 插件版本 - plugin_version = "2.4.7" + plugin_version = "2.5" # 插件作者 plugin_author = "thsrite" # 作者主页 @@ -78,6 +79,7 @@ class CloudLinkMonitor(_PluginBase): downloadhis = None transferchian = None tmdbchain = None + storagechain = None _observer = [] _enabled = False _notify = False @@ -109,6 +111,7 @@ class CloudLinkMonitor(_PluginBase): self.downloadhis = DownloadHistoryOper() self.transferchian = TransferChain() self.tmdbchain = TmdbChain() + self.storagechain = StorageChain() self.filetransfer = FileManagerModule() # 清空配置 self._dirconf = {} @@ -374,8 +377,11 @@ class CloudLinkMonitor(_PluginBase): # 查询转移方式 transfer_type = self._transferconf.get(mon_path) - file_item = FileItem() - file_item.path = file_path + # 查找这个文件项 + file_item = self.storagechain.get_file_item(storage="local", path=file_path) + if not file_item: + logger.warn(f"{event_path.name} 未找到对应的文件") + return # 识别媒体信息 mediainfo: MediaInfo = self.chain.recognize_media(meta=file_meta) if not mediainfo: @@ -414,15 +420,18 @@ class CloudLinkMonitor(_PluginBase): target_dir.transfer_type = transfer_type target_dir.scraping = self._scrape target_dir.renaming = True + target_dir.notify = False target_dir.overwrite_mode = "never" + target_dir.library_storage = "local" + target_dir.library_category_folder = True # 转移文件 - transferinfo: TransferInfo = self.filetransfer.transfer(fileitem=file_item, - meta=file_meta, - mediainfo=mediainfo, - transfer_type=transfer_type, - target_directory=target_dir, - episodes_info=episodes_info, - scrape=self._scrape) + transferinfo: TransferInfo = self.chain.transfer(fileitem=file_item, + meta=file_meta, + mediainfo=mediainfo, + transfer_type=transfer_type, + target_directory=target_dir, + episodes_info=episodes_info, + scrape=self._scrape) if not transferinfo: logger.error("文件转移模块运行失败")