mirror of
https://github.com/opendatalab/MinerU.git
synced 2026-10-25 17:42:08 +08:00
20 lines
925 B
Python
20 lines
925 B
Python
"""Tasks 共用的轻量格式与查询路由,不导入解析或渲染实现。"""
|
|
|
|
from typing import Literal
|
|
from urllib.parse import quote
|
|
|
|
TaskOutputFormat = Literal["default", "docx", "html", "latex"]
|
|
TASK_OUTPUT_FORMATS: tuple[TaskOutputFormat, ...] = ("default", "docx", "html", "latex")
|
|
TaskStatus = Literal["waiting-file", "pending", "running", "completed", "partial", "failed", "canceled"]
|
|
TaskFileState = Literal["waiting-file", "pending", "running", "completed", "failed", "canceled"]
|
|
|
|
|
|
def task_status_url(api_url: str, task_id: str) -> str:
|
|
"""保留 API 部署前缀并编码任务标识,拒绝会改变固定路由的点路径。"""
|
|
if not task_id or task_id in {".", ".."}:
|
|
raise ValueError("Invalid task_id")
|
|
return api_url.rstrip("/") + "/v1/tasks/" + quote(task_id, safe="")
|
|
|
|
|
|
__all__ = ["TASK_OUTPUT_FORMATS", "TaskFileState", "TaskOutputFormat", "TaskStatus", "task_status_url"]
|