mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-09 01:16:50 +08:00
fix(api): satisfy complexity ratchet
This commit is contained in:
@@ -77,6 +77,43 @@ def _public_transfer_result(data: dict[str, Any]) -> dict[str, Any]:
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def _build_failure_preview_item(file_item: FileItem, message: Optional[str]) -> dict:
|
||||||
|
"""构造手动整理预览失败项。"""
|
||||||
|
return {
|
||||||
|
"source": file_item.path if file_item else None,
|
||||||
|
"target": None,
|
||||||
|
"target_dir": None,
|
||||||
|
"success": False,
|
||||||
|
"message": _public_transfer_message(message),
|
||||||
|
"type": None,
|
||||||
|
"title": None,
|
||||||
|
"season": None,
|
||||||
|
"episode": None,
|
||||||
|
"episode_end": None,
|
||||||
|
"part": None,
|
||||||
|
"org_string": None,
|
||||||
|
"apply_words": [],
|
||||||
|
"resource_team": None,
|
||||||
|
"customization": None,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def _merge_transfer_messages(messages: List[str]) -> str:
|
||||||
|
"""合并手动整理批量预览提示信息,并统一转换错误文案。"""
|
||||||
|
valid_messages = [
|
||||||
|
public_message
|
||||||
|
for msg in messages
|
||||||
|
if msg
|
||||||
|
for public_message in [_public_transfer_message(msg)]
|
||||||
|
if public_message
|
||||||
|
]
|
||||||
|
if not valid_messages:
|
||||||
|
return ""
|
||||||
|
return "、".join(valid_messages[:2]) + (
|
||||||
|
f",等{len(valid_messages)}条消息" if len(valid_messages) > 2 else ""
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def _manual_review_actor(current_user: object) -> str:
|
def _manual_review_actor(current_user: object) -> str:
|
||||||
"""按名称、用户名和用户 ID 的稳定顺序提取人工复核操作者。"""
|
"""按名称、用户名和用户 ID 的稳定顺序提取人工复核操作者。"""
|
||||||
for attribute in ("name", "username", "id"):
|
for attribute in ("name", "username", "id"):
|
||||||
@@ -637,45 +674,6 @@ def _execute_manual_transfer(
|
|||||||
)
|
)
|
||||||
explicit_selected_files = bool(transer_item.fileitems)
|
explicit_selected_files = bool(transer_item.fileitems)
|
||||||
|
|
||||||
def _build_failure_preview_item(file_item: FileItem, message: str | None) -> dict:
|
|
||||||
"""
|
|
||||||
构造手动整理预览失败项。
|
|
||||||
"""
|
|
||||||
return {
|
|
||||||
"source": file_item.path if file_item else None,
|
|
||||||
"target": None,
|
|
||||||
"target_dir": None,
|
|
||||||
"success": False,
|
|
||||||
"message": _public_transfer_message(message),
|
|
||||||
"type": None,
|
|
||||||
"title": None,
|
|
||||||
"season": None,
|
|
||||||
"episode": None,
|
|
||||||
"episode_end": None,
|
|
||||||
"part": None,
|
|
||||||
"org_string": None,
|
|
||||||
"apply_words": [],
|
|
||||||
"resource_team": None,
|
|
||||||
"customization": None,
|
|
||||||
}
|
|
||||||
|
|
||||||
def _merge_messages(messages: List[str]) -> str:
|
|
||||||
"""
|
|
||||||
合并手动整理批量预览提示信息,并统一转换错误文案。
|
|
||||||
"""
|
|
||||||
valid_messages = [
|
|
||||||
public_message
|
|
||||||
for msg in messages
|
|
||||||
if msg
|
|
||||||
for public_message in [_public_transfer_message(msg)]
|
|
||||||
if public_message
|
|
||||||
]
|
|
||||||
if not valid_messages:
|
|
||||||
return ""
|
|
||||||
return "、".join(valid_messages[:2]) + (
|
|
||||||
f",等{len(valid_messages)}条消息" if len(valid_messages) > 2 else ""
|
|
||||||
)
|
|
||||||
|
|
||||||
# 前端显式传入文件列表时,按选中的文件逐个处理,避免将目录整体展开。
|
# 前端显式传入文件列表时,按选中的文件逐个处理,避免将目录整体展开。
|
||||||
if explicit_selected_files:
|
if explicit_selected_files:
|
||||||
preview_items: List[dict] = []
|
preview_items: List[dict] = []
|
||||||
@@ -748,7 +746,7 @@ def _execute_manual_transfer(
|
|||||||
if isinstance(preview_item, dict)
|
if isinstance(preview_item, dict)
|
||||||
else preview_item
|
else preview_item
|
||||||
)
|
)
|
||||||
merged_message = _merge_messages(error_messages)
|
merged_message = _merge_transfer_messages(error_messages)
|
||||||
preview_data = {
|
preview_data = {
|
||||||
"summary": {
|
"summary": {
|
||||||
"total": len(merged_preview_items),
|
"total": len(merged_preview_items),
|
||||||
@@ -771,7 +769,7 @@ def _execute_manual_transfer(
|
|||||||
if not all_success:
|
if not all_success:
|
||||||
return _SchemaResponse(
|
return _SchemaResponse(
|
||||||
success=False,
|
success=False,
|
||||||
message=_merge_messages(error_messages),
|
message=_merge_transfer_messages(error_messages),
|
||||||
)
|
)
|
||||||
return _SchemaResponse(success=True)
|
return _SchemaResponse(success=True)
|
||||||
|
|
||||||
|
|||||||
@@ -1472,11 +1472,7 @@ class MessageChain(ChainBase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"处理AI智能体消息失败: {e}", exc_info=True)
|
logger.error(f"处理AI智能体消息失败: {e}", exc_info=True)
|
||||||
self.messagehelper.put(
|
self.messagehelper.put("智能助手执行失败,请稍后重试", role="system", title="MoviePilot助手")
|
||||||
"智能助手执行失败,请稍后重试",
|
|
||||||
role="system",
|
|
||||||
title="MoviePilot助手",
|
|
||||||
)
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def _transcribe_audio_refs(
|
def _transcribe_audio_refs(
|
||||||
@@ -1798,10 +1794,7 @@ class MessageChain(ChainBase):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
logger.error(
|
logger.error(f"准备附件上下文失败: {attachment.ref}, error: {err}", exc_info=True)
|
||||||
f"准备附件上下文失败: {attachment.ref}, error: {err}",
|
|
||||||
exc_info=True,
|
|
||||||
)
|
|
||||||
payload["error"] = "附件读取失败,请稍后重试"
|
payload["error"] = "附件读取失败,请稍后重试"
|
||||||
prepared_files.append(payload)
|
prepared_files.append(payload)
|
||||||
|
|
||||||
|
|||||||
@@ -168,11 +168,7 @@ class FailedRetryMixin(_TransferOwnerBase):
|
|||||||
|
|
||||||
state, errmsg = self.redo_transfer_history(history_id)
|
state, errmsg = self.redo_transfer_history(history_id)
|
||||||
if state:
|
if state:
|
||||||
public_message = (
|
public_message = public_error_message(errmsg, context="transfer") if errmsg else ""
|
||||||
public_error_message(errmsg, context="transfer")
|
|
||||||
if errmsg
|
|
||||||
else ""
|
|
||||||
)
|
|
||||||
self.post_message(
|
self.post_message(
|
||||||
Message(
|
Message(
|
||||||
channel=channel,
|
channel=channel,
|
||||||
@@ -242,11 +238,7 @@ class FailedRetryMixin(_TransferOwnerBase):
|
|||||||
source=source,
|
source=source,
|
||||||
userid=userid,
|
userid=userid,
|
||||||
username=username,
|
username=username,
|
||||||
title=(
|
title=public_message if accepted else "重新整理失败",
|
||||||
public_message
|
|
||||||
if accepted
|
|
||||||
else "重新整理失败"
|
|
||||||
),
|
|
||||||
text=None if accepted else public_message,
|
text=None if accepted else public_message,
|
||||||
link=self.runtime_config.history_url,
|
link=self.runtime_config.history_url,
|
||||||
save_history=False,
|
save_history=False,
|
||||||
|
|||||||
@@ -531,10 +531,7 @@ class TransferSettlementOwner(_TransferOwnerBase):
|
|||||||
else task.fileitem.name if task.fileitem else "未知媒体"
|
else task.fileitem.name if task.fileitem else "未知媒体"
|
||||||
),
|
),
|
||||||
season_episode=getattr(task.meta, "season_episode", "") or "",
|
season_episode=getattr(task.meta, "season_episode", "") or "",
|
||||||
reason=(
|
reason=public_error_message(transferinfo.message, context="transfer") or "整理失败",
|
||||||
public_error_message(transferinfo.message, context="transfer")
|
|
||||||
or "整理失败"
|
|
||||||
),
|
|
||||||
history_id=history_id,
|
history_id=history_id,
|
||||||
image=(
|
image=(
|
||||||
task.mediainfo.get_message_image()
|
task.mediainfo.get_message_image()
|
||||||
|
|||||||
Reference in New Issue
Block a user