fix manual_transfer api

This commit is contained in:
jxxghp
2024-05-23 08:09:36 +08:00
parent 0aa3aa8521
commit a09a207407
4 changed files with 23 additions and 6 deletions

View File

@ -28,6 +28,7 @@ def manual_transfer(path: str = None,
episode_part: str = None, episode_part: str = None,
episode_offset: int = 0, episode_offset: int = 0,
min_filesize: int = 0, min_filesize: int = 0,
scrape: bool = None,
db: Session = Depends(get_db), db: Session = Depends(get_db),
_: schemas.TokenPayload = Depends(verify_token)) -> Any: _: schemas.TokenPayload = Depends(verify_token)) -> Any:
""" """
@ -45,6 +46,7 @@ def manual_transfer(path: str = None,
:param episode_part: 剧集识别分集信息 :param episode_part: 剧集识别分集信息
:param episode_offset: 剧集识别偏移量 :param episode_offset: 剧集识别偏移量
:param min_filesize: 最小文件大小(MB) :param min_filesize: 最小文件大小(MB)
:param scrape: 是否刮削元数据
:param db: 数据库 :param db: 数据库
:param _: Token校验 :param _: Token校验
""" """
@ -99,6 +101,7 @@ def manual_transfer(path: str = None,
transfer_type=transfer_type, transfer_type=transfer_type,
epformat=epformat, epformat=epformat,
min_filesize=min_filesize, min_filesize=min_filesize,
scrape=scrape,
force=force force=force
) )
# 失败 # 失败

View File

@ -358,7 +358,8 @@ class ChainBase(metaclass=ABCMeta):
def transfer(self, path: Path, meta: MetaBase, mediainfo: MediaInfo, def transfer(self, path: Path, meta: MetaBase, mediainfo: MediaInfo,
transfer_type: str, target: Path = None, transfer_type: str, target: Path = None,
episodes_info: List[TmdbEpisode] = None) -> Optional[TransferInfo]: episodes_info: List[TmdbEpisode] = None,
scrape: bool = None) -> Optional[TransferInfo]:
""" """
文件转移 文件转移
:param path: 文件路径 :param path: 文件路径
@ -367,10 +368,12 @@ class ChainBase(metaclass=ABCMeta):
:param transfer_type: 转移模式 :param transfer_type: 转移模式
:param target: 转移目标路径 :param target: 转移目标路径
:param episodes_info: 当前季的全部集信息 :param episodes_info: 当前季的全部集信息
:param scrape: 是否刮削元数据
:return: {path, target_path, message} :return: {path, target_path, message}
""" """
return self.run_module("transfer", path=path, meta=meta, mediainfo=mediainfo, return self.run_module("transfer", path=path, meta=meta, mediainfo=mediainfo,
transfer_type=transfer_type, target=target, episodes_info=episodes_info) transfer_type=transfer_type, target=target, episodes_info=episodes_info,
scrape=scrape)
def transfer_completed(self, hashs: Union[str, list], path: Path = None, def transfer_completed(self, hashs: Union[str, list], path: Path = None,
downloader: str = settings.DEFAULT_DOWNLOADER) -> None: downloader: str = settings.DEFAULT_DOWNLOADER) -> None:

View File

@ -86,7 +86,8 @@ class TransferChain(ChainBase):
mediainfo: MediaInfo = None, download_hash: str = None, mediainfo: MediaInfo = None, download_hash: str = None,
target: Path = None, transfer_type: str = None, target: Path = None, transfer_type: str = None,
season: int = None, epformat: EpisodeFormat = None, season: int = None, epformat: EpisodeFormat = None,
min_filesize: int = 0, force: bool = False) -> Tuple[bool, str]: min_filesize: int = 0, scrape: bool = None,
force: bool = False) -> Tuple[bool, str]:
""" """
执行一个复杂目录的转移操作 执行一个复杂目录的转移操作
:param path: 待转移目录或文件 :param path: 待转移目录或文件
@ -98,6 +99,7 @@ class TransferChain(ChainBase):
:param season: 季 :param season: 季
:param epformat: 剧集格式 :param epformat: 剧集格式
:param min_filesize: 最小文件大小(MB) :param min_filesize: 最小文件大小(MB)
:param scrape: 是否刮削元数据
:param force: 是否强制转移 :param force: 是否强制转移
返回:成功标识,错误信息 返回:成功标识,错误信息
""" """
@ -300,7 +302,8 @@ class TransferChain(ChainBase):
path=file_path, path=file_path,
transfer_type=transfer_type, transfer_type=transfer_type,
target=target, target=target,
episodes_info=episodes_info) episodes_info=episodes_info,
scrape=scrape)
if not transferinfo: if not transferinfo:
logger.error("文件转移模块运行失败") logger.error("文件转移模块运行失败")
return False, "文件转移模块运行失败" return False, "文件转移模块运行失败"
@ -561,6 +564,7 @@ class TransferChain(ChainBase):
transfer_type: str = None, transfer_type: str = None,
epformat: EpisodeFormat = None, epformat: EpisodeFormat = None,
min_filesize: int = 0, min_filesize: int = 0,
scrape: bool = None,
force: bool = False) -> Tuple[bool, Union[str, list]]: force: bool = False) -> Tuple[bool, Union[str, list]]:
""" """
手动转移,支持复杂条件,带进度显示 手动转移,支持复杂条件,带进度显示
@ -573,6 +577,7 @@ class TransferChain(ChainBase):
:param transfer_type: 转移类型 :param transfer_type: 转移类型
:param epformat: 剧集格式 :param epformat: 剧集格式
:param min_filesize: 最小文件大小(MB) :param min_filesize: 最小文件大小(MB)
:param scrape: 是否刮削元数据
:param force: 是否强制转移 :param force: 是否强制转移
""" """
logger.info(f"手动转移:{in_path} ...") logger.info(f"手动转移:{in_path} ...")
@ -597,6 +602,7 @@ class TransferChain(ChainBase):
season=season, season=season,
epformat=epformat, epformat=epformat,
min_filesize=min_filesize, min_filesize=min_filesize,
scrape=scrape,
force=force force=force
) )
if not state: if not state:

View File

@ -82,7 +82,8 @@ class FileTransferModule(_ModuleBase):
def transfer(self, path: Path, meta: MetaBase, mediainfo: MediaInfo, def transfer(self, path: Path, meta: MetaBase, mediainfo: MediaInfo,
transfer_type: str, target: Path = None, transfer_type: str, target: Path = None,
episodes_info: List[TmdbEpisode] = None) -> TransferInfo: episodes_info: List[TmdbEpisode] = None,
scrape: bool = None) -> TransferInfo:
""" """
文件转移 文件转移
:param path: 文件路径 :param path: 文件路径
@ -91,6 +92,7 @@ class FileTransferModule(_ModuleBase):
:param transfer_type: 转移方式 :param transfer_type: 转移方式
:param target: 目标路径 :param target: 目标路径
:param episodes_info: 当前季的全部集信息 :param episodes_info: 当前季的全部集信息
:param scrape: 是否刮削元数据
:return: {path, target_path, message} :return: {path, target_path, message}
""" """
# 获取目标路径 # 获取目标路径
@ -103,7 +105,10 @@ class FileTransferModule(_ModuleBase):
path=path, path=path,
message="未找到有效的媒体库目录") message="未找到有效的媒体库目录")
# 拼装媒体库一、二级子目录 # 拼装媒体库一、二级子目录
need_scrape = dir_info.scrape if scrape is None:
need_scrape = dir_info.scrape
else:
need_scrape = scrape
target = self.__get_dest_dir(mediainfo=mediainfo, target_dir=dir_info) target = self.__get_dest_dir(mediainfo=mediainfo, target_dir=dir_info)
else: else:
# 指定了目的目录 # 指定了目的目录