fix 文件转移使用下载识别信息

This commit is contained in:
jxxghp 2023-06-16 13:44:20 +08:00
parent 5b9c540c3c
commit 4936ae4631

View File

@ -6,11 +6,13 @@ from app.chain import ChainBase
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.models.downloadhistory import DownloadHistory
from app.log import logger
from app.schemas.context import TransferInfo, TransferTorrent
from app.utils.string import StringUtils
from app.utils.system import SystemUtils
from app.schemas.types import TorrentStatus, EventType
from app.schemas.types import TorrentStatus, EventType, MediaType
class TransferChain(ChainBase):
@ -18,6 +20,10 @@ class TransferChain(ChainBase):
文件转移处理链
"""
def __init__(self):
super().__init__()
self.downloadhis = DownloadHistoryOper()
def process(self, arg_str: str = None, userid: Union[str, int] = None) -> bool:
"""
获取下载器中的种子列表并执行转移
@ -48,16 +54,8 @@ class TransferChain(ChainBase):
if not torrents:
logger.error(f"没有获取到种子,参数:{arg_str}")
return False
# 识别前预处理
result: Optional[tuple] = self.prepare_recognize(title=torrents[0].title)
if result:
title, subtitle = result
else:
title, subtitle = torrents[0].title, None
# 识别
meta = MetaInfo(title=title, subtitle=subtitle)
# 查询媒体信息
arg_mediainfo = self.recognize_media(meta=meta)
arg_mediainfo = self.recognize_media(tmdbid=tmdbid)
else:
arg_mediainfo = None
logger.info("开始执行下载器文件转移 ...")
@ -82,7 +80,13 @@ class TransferChain(ChainBase):
logger.warn(f'未识别到元数据,标题:{title}')
continue
if not arg_mediainfo:
# 识别媒体信息
# 查询下载记录识别情况
downloadhis: DownloadHistory = self.downloadhis.get_by_hash(torrent.hash)
if downloadhis:
mtype = MediaType.TV if downloadhis.type == MediaType.TV.value else MediaType.MOVIE
mediainfo = self.recognize_media(mtype=mtype, tmdbid=downloadhis.tmdbid)
else:
# 使用标题识别媒体信息
mediainfo: MediaInfo = self.recognize_media(meta=meta)
if not mediainfo:
logger.warn(f'未识别到媒体信息,标题:{torrent.title}')