fix 目录监控登录转移方式错误

This commit is contained in:
jxxghp
2023-09-02 21:22:03 +08:00
parent 212e2f1287
commit 59b947fa65
3 changed files with 86 additions and 153 deletions

View File

@ -1,8 +1,6 @@
import json
import re
import shutil
import threading
import time
import traceback
from datetime import datetime
from pathlib import Path
@ -17,7 +15,6 @@ from watchdog.observers.polling import PollingObserver
from app.chain.transfer import TransferChain
from app.core.config import settings
from app.core.context import MediaInfo
from app.core.meta import MetaBase
from app.core.metainfo import MetaInfo
from app.db.downloadhistory_oper import DownloadHistoryOper
from app.db.transferhistory_oper import TransferHistoryOper
@ -251,17 +248,10 @@ class DirMonitor(_PluginBase):
title=f"{file_path.name} 未识别到媒体信息,无法入库!"
))
# 新增转移成功历史记录
self.transferhis.add_force(
src=event_path,
dest=str(target),
self.transferhis.add_fail(
src_path=file_path,
mode=self._transfer_type,
title=meta.name,
year=meta.year,
seasons=file_meta.season,
episodes=file_meta.episode,
status=0,
errmsg="未识别到媒体信息",
date=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
meta=file_meta
)
return
logger.info(f"{file_path.name} 识别为:{mediainfo.type.value} {mediainfo.title_year}")
@ -286,8 +276,9 @@ class DirMonitor(_PluginBase):
# 转移失败
logger.warn(f"{file_path.name} 入库失败:{transferinfo.message}")
# 新增转移失败历史记录
self.__insert_fail_history(
self.transferhis.add_fail(
src_path=file_path,
mode=self._transfer_type,
download_hash=download_hash,
meta=file_meta,
mediainfo=mediainfo,
@ -302,8 +293,9 @@ class DirMonitor(_PluginBase):
return
# 新增转移成功历史记录
self.__insert_sucess_history(
self.transferhis.add_success(
src_path=file_path,
mode=self._transfer_type,
download_hash=download_hash,
meta=file_meta,
mediainfo=mediainfo,
@ -467,72 +459,6 @@ class DirMonitor(_PluginBase):
return downloadHis.download_hash
return None
def __insert_sucess_history(self, src_path: Path, meta: MetaBase,
mediainfo: MediaInfo, transferinfo: TransferInfo,
download_hash: str = None):
"""
新增转移成功历史记录
"""
self.transferhis.add_force(
src=str(src_path),
dest=str(transferinfo.target_path),
mode=self._transfer_type,
type=mediainfo.type.value,
category=mediainfo.category,
title=mediainfo.title,
year=mediainfo.year,
tmdbid=mediainfo.tmdb_id,
imdbid=mediainfo.imdb_id,
tvdbid=mediainfo.tvdb_id,
doubanid=mediainfo.douban_id,
seasons=meta.season,
episodes=meta.episode,
image=mediainfo.get_poster_image(),
download_hash=download_hash,
status=1,
files=json.dumps(transferinfo.file_list)
)
def __insert_fail_history(self, src_path: Path, download_hash: str, meta: MetaBase,
transferinfo: TransferInfo = None, mediainfo: MediaInfo = None):
"""
新增转移失败历史记录
"""
if mediainfo and transferinfo:
his = self.transferhis.add_force(
src=str(src_path),
dest=str(transferinfo.target_path),
mode=settings.TRANSFER_TYPE,
type=mediainfo.type.value,
category=mediainfo.category,
title=mediainfo.title or meta.name,
year=mediainfo.year or meta.year,
tmdbid=mediainfo.tmdb_id,
imdbid=mediainfo.imdb_id,
tvdbid=mediainfo.tvdb_id,
doubanid=mediainfo.douban_id,
seasons=meta.season,
episodes=meta.episode,
image=mediainfo.get_poster_image(),
download_hash=download_hash,
status=0,
errmsg=transferinfo.message or '未知错误',
files=json.dumps(transferinfo.file_list)
)
else:
his = self.transferhis.add_force(
title=meta.name,
year=meta.year,
src=str(src_path),
mode=settings.TRANSFER_TYPE,
seasons=meta.season,
episodes=meta.episode,
download_hash=download_hash,
status=0,
errmsg="未识别到媒体信息"
)
return his
def get_state(self) -> bool:
return self._enabled