From 5f88fe81e3199eb445764731bdaa409aafe9312f Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 3 Sep 2023 14:38:24 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=89=8B=E5=8A=A8=E6=95=B4=E7=90=86?= =?UTF-8?q?=E6=97=B6=E5=89=A7=E9=9B=86=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chain/transfer.py | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/app/chain/transfer.py b/app/chain/transfer.py index 3aa1a01a8..b92849a4f 100644 --- a/app/chain/transfer.py +++ b/app/chain/transfer.py @@ -84,7 +84,8 @@ def process(self) -> bool: def do_transfer(self, path: Path, meta: MetaBase = None, mediainfo: MediaInfo = None, download_hash: str = None, target: Path = None, transfer_type: str = None, - epformat: EpisodeFormat = None, min_filesize: int = 0) -> Tuple[bool, str]: + season: int = None, epformat: EpisodeFormat = None, + min_filesize: int = 0) -> Tuple[bool, str]: """ 执行一个复杂目录的转移操作 :param path: 待转移目录或文件 @@ -93,6 +94,7 @@ def do_transfer(self, path: Path, meta: MetaBase = None, :param download_hash: 下载记录hash :param target: 目标路径 :param transfer_type: 转移类型 + :param season: 季 :param epformat: 剧集格式 :param min_filesize: 最小文件大小(MB) 返回:成功标识,错误信息 @@ -190,6 +192,10 @@ def do_transfer(self, path: Path, meta: MetaBase = None, else: file_meta = meta + # 合并季 + if season: + file_meta.begin_season = season + if not file_meta: logger.error(f"{file_path} 无法识别有效信息") err_msgs.append(f"{file_path} 无法识别有效信息") @@ -449,10 +455,6 @@ def re_transfer(self, logid: int, mtype: MediaType, tmdbid: int) -> Tuple[bool, src_path = Path(history.src) if not src_path.exists(): return False, f"源目录不存在:{src_path}" - # 识别元数据 - meta = MetaInfo(title=src_path.stem) - if not meta.name: - return False, f"未识别到元数据,标题:{src_path.stem}" # 查询媒体信息 mediainfo = self.recognize_media(mtype=mtype, tmdbid=tmdbid) if not mediainfo: @@ -464,7 +466,6 @@ def re_transfer(self, logid: int, mtype: MediaType, tmdbid: int) -> Tuple[bool, # 转移 state, errmsg = self.do_transfer(path=src_path, - meta=meta, mediainfo=mediainfo, download_hash=history.download_hash) if not state: @@ -502,12 +503,6 @@ def manual_transfer(self, in_path: Path, if tmdbid: # 有输入TMDBID时单个识别 - meta = MetaInfo(in_path.stem) - # 整合数据 - if mtype: - meta.type = mtype - if season is not None: - meta.begin_season = season # 识别媒体信息 mediainfo: MediaInfo = self.mediachain.recognize_media(tmdbid=tmdbid, mtype=mtype) if not mediainfo: @@ -520,9 +515,9 @@ def manual_transfer(self, in_path: Path, # 开始转移 state, errmsg = self.do_transfer( path=in_path, - meta=meta, mediainfo=mediainfo, target=target, + season=season, epformat=epformat, min_filesize=min_filesize ) @@ -537,6 +532,7 @@ def manual_transfer(self, in_path: Path, state, errmsg = self.do_transfer(path=in_path, target=target, transfer_type=transfer_type, + season=season, epformat=epformat, min_filesize=min_filesize) return state, errmsg