fix 整理入库消息用户隔离

This commit is contained in:
jxxghp
2025-01-05 12:35:21 +08:00
parent 6f1f89ac26
commit 41636395ff
2 changed files with 23 additions and 12 deletions
+22 -12
View File
@@ -414,6 +414,7 @@ class TransferChain(ChainBase, metaclass=Singleton):
title=f"{task.mediainfo.title_year} {task.meta.season_episode} 入库失败!", title=f"{task.mediainfo.title_year} {task.meta.season_episode} 入库失败!",
text=f"原因:{transferinfo.message or '未知'}", text=f"原因:{transferinfo.message or '未知'}",
image=task.mediainfo.get_message_image(), image=task.mediainfo.get_message_image(),
username=task.username,
link=settings.MP_DOMAIN('#/history') link=settings.MP_DOMAIN('#/history')
)) ))
# 整理失败 # 整理失败
@@ -479,7 +480,8 @@ class TransferChain(ChainBase, metaclass=Singleton):
self.send_transfer_message(meta=task.meta, self.send_transfer_message(meta=task.meta,
mediainfo=task.mediainfo, mediainfo=task.mediainfo,
transferinfo=transferinfo, transferinfo=transferinfo,
season_episode=se_str) season_episode=se_str,
username=task.username)
# 刮削事件 # 刮削事件
if transferinfo.need_scrape: if transferinfo.need_scrape:
self.eventmanager.send_event(EventType.MetadataScrape, { self.eventmanager.send_event(EventType.MetadataScrape, {
@@ -608,23 +610,29 @@ class TransferChain(ChainBase, metaclass=Singleton):
""" """
# 识别 # 识别
if not task.mediainfo: if not task.mediainfo:
mediainfo = None
download_history = task.download_history download_history = task.download_history
# 识别媒体信息 # 下载用户
if download_history and (download_history.tmdbid or download_history.doubanid): if download_history:
# 下载记录中已存在识别信息 task.username = download_history.username
mediainfo: MediaInfo = self.recognize_media(mtype=MediaType(download_history.type), # 识别媒体信息
tmdbid=download_history.tmdbid, if download_history.tmdbid or download_history.doubanid:
doubanid=download_history.doubanid) # 下载记录中已存在识别信息
if mediainfo: mediainfo: MediaInfo = self.recognize_media(mtype=MediaType(download_history.type),
# 更新自定义媒体类别 tmdbid=download_history.tmdbid,
if download_history.media_category: doubanid=download_history.doubanid)
mediainfo.category = download_history.media_category if mediainfo:
# 更新自定义媒体类别
if download_history.media_category:
mediainfo.category = download_history.media_category
else: else:
# 识别媒体信息 # 识别媒体信息
mediainfo = self.mediachain.recognize_by_meta(task.meta) mediainfo = self.mediachain.recognize_by_meta(task.meta)
# 更新媒体图片 # 更新媒体图片
if mediainfo: if mediainfo:
self.obtain_images(mediainfo=mediainfo) self.obtain_images(mediainfo=mediainfo)
if not mediainfo: if not mediainfo:
# 新增整理失败历史记录 # 新增整理失败历史记录
his = self.transferhis.add_fail( his = self.transferhis.add_fail(
@@ -638,6 +646,7 @@ class TransferChain(ChainBase, metaclass=Singleton):
mtype=NotificationType.Manual, mtype=NotificationType.Manual,
title=f"{task.fileitem.name} 未识别到媒体信息,无法入库!", title=f"{task.fileitem.name} 未识别到媒体信息,无法入库!",
text=f"回复:```\n/redo {his.id} [tmdbid]|[类型]\n``` 手动识别整理。", text=f"回复:```\n/redo {his.id} [tmdbid]|[类型]\n``` 手动识别整理。",
username=task.username,
link=settings.MP_DOMAIN('#/history') link=settings.MP_DOMAIN('#/history')
)) ))
# 任务失败,直接移除task # 任务失败,直接移除task
@@ -1292,7 +1301,7 @@ class TransferChain(ChainBase, metaclass=Singleton):
return state, errmsg return state, errmsg
def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo, def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo,
transferinfo: TransferInfo, season_episode: str = None): transferinfo: TransferInfo, season_episode: str = None, username: str = None):
""" """
发送入库成功的消息 发送入库成功的消息
""" """
@@ -1313,4 +1322,5 @@ class TransferChain(ChainBase, metaclass=Singleton):
self.post_message(Notification( self.post_message(Notification(
mtype=NotificationType.Organize, mtype=NotificationType.Organize,
title=msg_title, text=msg_str, image=mediainfo.get_message_image(), title=msg_title, text=msg_str, image=mediainfo.get_message_image(),
username=username,
link=settings.MP_DOMAIN('#/history'))) link=settings.MP_DOMAIN('#/history')))
+1
View File
@@ -58,6 +58,7 @@ class TransferTask(BaseModel):
library_type_folder: Optional[bool] = False library_type_folder: Optional[bool] = False
library_category_folder: Optional[bool] = False library_category_folder: Optional[bool] = False
episodes_info: Optional[List[TmdbEpisode]] = None episodes_info: Optional[List[TmdbEpisode]] = None
username: Optional[str] = None
downloader: Optional[str] = None downloader: Optional[str] = None
download_hash: Optional[str] = None download_hash: Optional[str] = None
download_history: Optional[DownloadHistory] = None download_history: Optional[DownloadHistory] = None