- 修复历史记录重新整理时路径不正确的问题
This commit is contained in:
parent
995c359f20
commit
cb12a052ac
@ -47,9 +47,11 @@ def manual_transfer(path: str = None,
|
|||||||
:param _: Token校验
|
:param _: Token校验
|
||||||
"""
|
"""
|
||||||
force = False
|
force = False
|
||||||
|
target = Path(target) if target else None
|
||||||
|
transfer = TransferChain()
|
||||||
if logid:
|
if logid:
|
||||||
# 查询历史记录
|
# 查询历史记录
|
||||||
history = TransferHistory.get(db, logid)
|
history: TransferHistory = TransferHistory.get(db, logid)
|
||||||
if not history:
|
if not history:
|
||||||
return schemas.Response(success=False, message=f"历史记录不存在,ID:{logid}")
|
return schemas.Response(success=False, message=f"历史记录不存在,ID:{logid}")
|
||||||
# 强制转移
|
# 强制转移
|
||||||
@ -59,19 +61,16 @@ def manual_transfer(path: str = None,
|
|||||||
# 目的路径
|
# 目的路径
|
||||||
if history.dest and str(history.dest) != "None":
|
if history.dest and str(history.dest) != "None":
|
||||||
# 删除旧的已整理文件
|
# 删除旧的已整理文件
|
||||||
TransferChain().delete_files(Path(history.dest))
|
transfer.delete_files(Path(history.dest))
|
||||||
if not target:
|
if not target:
|
||||||
target = history.dest
|
target = transfer.get_root_path(path=history.dest,
|
||||||
|
type_name=history.type,
|
||||||
|
category=history.category)
|
||||||
elif path:
|
elif path:
|
||||||
in_path = Path(path)
|
in_path = Path(path)
|
||||||
else:
|
else:
|
||||||
return schemas.Response(success=False, message=f"缺少参数:path/logid")
|
return schemas.Response(success=False, message=f"缺少参数:path/logid")
|
||||||
|
|
||||||
if target and target != "None":
|
|
||||||
target = Path(target)
|
|
||||||
else:
|
|
||||||
target = None
|
|
||||||
|
|
||||||
# 类型
|
# 类型
|
||||||
mtype = MediaType(type_name) if type_name else None
|
mtype = MediaType(type_name) if type_name else None
|
||||||
# 自定义格式
|
# 自定义格式
|
||||||
@ -84,7 +83,7 @@ def manual_transfer(path: str = None,
|
|||||||
offset=episode_offset,
|
offset=episode_offset,
|
||||||
)
|
)
|
||||||
# 开始转移
|
# 开始转移
|
||||||
state, errormsg = TransferChain().manual_transfer(
|
state, errormsg = transfer.manual_transfer(
|
||||||
in_path=in_path,
|
in_path=in_path,
|
||||||
target=target,
|
target=target,
|
||||||
tmdbid=tmdbid,
|
tmdbid=tmdbid,
|
||||||
|
@ -481,6 +481,24 @@ class TransferChain(ChainBase):
|
|||||||
text=errmsg, userid=userid))
|
text=errmsg, userid=userid))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_root_path(path: str, type_name: str, category: str) -> Path:
|
||||||
|
"""
|
||||||
|
计算媒体库目录的根路径
|
||||||
|
"""
|
||||||
|
if not path or path == "None":
|
||||||
|
return None
|
||||||
|
index = -2
|
||||||
|
if type_name != '电影':
|
||||||
|
index = -3
|
||||||
|
if category:
|
||||||
|
index -= 1
|
||||||
|
if '/' in path:
|
||||||
|
retpath = '/'.join(path.split('/')[:index])
|
||||||
|
else:
|
||||||
|
retpath = '\\'.join(path.split('\\')[:index])
|
||||||
|
return Path(retpath)
|
||||||
|
|
||||||
def re_transfer(self, logid: int, mtype: MediaType = None,
|
def re_transfer(self, logid: int, mtype: MediaType = None,
|
||||||
mediaid: str = None) -> Tuple[bool, str]:
|
mediaid: str = None) -> Tuple[bool, str]:
|
||||||
"""
|
"""
|
||||||
@ -498,7 +516,7 @@ class TransferChain(ChainBase):
|
|||||||
src_path = Path(history.src)
|
src_path = Path(history.src)
|
||||||
if not src_path.exists():
|
if not src_path.exists():
|
||||||
return False, f"源目录不存在:{src_path}"
|
return False, f"源目录不存在:{src_path}"
|
||||||
dest_path = Path(history.dest) if history.dest else None
|
dest_path = self.get_root_path(path=history.dest, type_name=history.type, category=history.category)
|
||||||
# 查询媒体信息
|
# 查询媒体信息
|
||||||
if mtype and mediaid:
|
if mtype and mediaid:
|
||||||
mediainfo = self.recognize_media(mtype=mtype, tmdbid=int(mediaid) if str(mediaid).isdigit() else None,
|
mediainfo = self.recognize_media(mtype=mtype, tmdbid=int(mediaid) if str(mediaid).isdigit() else None,
|
||||||
|
@ -1 +1 @@
|
|||||||
APP_VERSION = 'v1.5.1-1'
|
APP_VERSION = 'v1.5.2'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user