mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
fix 目录监控消息重复发送
This commit is contained in:
+32
-26
@@ -34,6 +34,7 @@ from app.utils.string import StringUtils
|
|||||||
|
|
||||||
downloader_lock = threading.Lock()
|
downloader_lock = threading.Lock()
|
||||||
job_lock = threading.Lock()
|
job_lock = threading.Lock()
|
||||||
|
task_lock = threading.Lock()
|
||||||
|
|
||||||
|
|
||||||
class JobManager:
|
class JobManager:
|
||||||
@@ -460,31 +461,35 @@ class TransferChain(ChainBase, metaclass=Singleton):
|
|||||||
|
|
||||||
# 整理完成且有成功的任务时
|
# 整理完成且有成功的任务时
|
||||||
if self.jobview.is_finished(task):
|
if self.jobview.is_finished(task):
|
||||||
# 发送通知
|
with task_lock:
|
||||||
if transferinfo.need_notify:
|
# 发送通知
|
||||||
se_str = None
|
if transferinfo.need_notify:
|
||||||
if task.mediainfo.type == MediaType.TV:
|
se_str = None
|
||||||
season_episodes = self.jobview.season_episodes(task.mediainfo, task.meta.begin_season)
|
if task.mediainfo.type == MediaType.TV:
|
||||||
if season_episodes:
|
season_episodes = self.jobview.season_episodes(task.mediainfo, task.meta.begin_season)
|
||||||
se_str = f"{task.meta.season} {StringUtils.format_ep(season_episodes)}"
|
if season_episodes:
|
||||||
else:
|
se_str = f"{task.meta.season} {StringUtils.format_ep(season_episodes)}"
|
||||||
se_str = f"{task.meta.season}"
|
else:
|
||||||
# 更新文件数量
|
se_str = f"{task.meta.season}"
|
||||||
transferinfo.file_count = self.jobview.count(task.mediainfo, task.meta.begin_season) or 1
|
# 更新文件数量
|
||||||
# 更新文件大小
|
transferinfo.file_count = self.jobview.count(task.mediainfo, task.meta.begin_season) or 1
|
||||||
transferinfo.total_size = self.jobview.size(task.mediainfo,
|
# 更新文件大小
|
||||||
task.meta.begin_season) or task.fileitem.size
|
transferinfo.total_size = self.jobview.size(task.mediainfo,
|
||||||
self.send_transfer_message(meta=task.meta,
|
task.meta.begin_season) or task.fileitem.size
|
||||||
mediainfo=task.mediainfo,
|
self.send_transfer_message(meta=task.meta,
|
||||||
transferinfo=transferinfo,
|
mediainfo=task.mediainfo,
|
||||||
season_episode=se_str)
|
transferinfo=transferinfo,
|
||||||
# 刮削事件
|
season_episode=se_str)
|
||||||
if transferinfo.need_scrape:
|
# 刮削事件
|
||||||
self.eventmanager.send_event(EventType.MetadataScrape, {
|
if transferinfo.need_scrape:
|
||||||
'meta': task.meta,
|
self.eventmanager.send_event(EventType.MetadataScrape, {
|
||||||
'mediainfo': task.mediainfo,
|
'meta': task.meta,
|
||||||
'fileitem': transferinfo.target_diritem
|
'mediainfo': task.mediainfo,
|
||||||
})
|
'fileitem': transferinfo.target_diritem
|
||||||
|
})
|
||||||
|
|
||||||
|
# 移除已完成的任务
|
||||||
|
self.jobview.remove_job(task)
|
||||||
|
|
||||||
return True, ""
|
return True, ""
|
||||||
|
|
||||||
@@ -497,7 +502,8 @@ class TransferChain(ChainBase, metaclass=Singleton):
|
|||||||
if not task:
|
if not task:
|
||||||
return
|
return
|
||||||
# 维护整理任务视图
|
# 维护整理任务视图
|
||||||
self.jobview.add_task(task)
|
with task_lock:
|
||||||
|
self.jobview.add_task(task)
|
||||||
# 添加到队列
|
# 添加到队列
|
||||||
self._queue.put(TransferQueue(
|
self._queue.put(TransferQueue(
|
||||||
task=task,
|
task=task,
|
||||||
|
|||||||
Reference in New Issue
Block a user