mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-02 05:56:47 +08:00
* feat(download): 支持未识别资源确认下载 * feat(download): 音乐与影视统一未识别确认下载逻辑 * fix(download): 修正未识别媒体信息构造的类型标注与合集归一 --------- Co-authored-by: liulang <liulang@25qp.cn> Co-authored-by: jxxghp <jxxghp@gmail.com>
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class DownloadTask(BaseModel):
|
|
"""
|
|
下载任务
|
|
"""
|
|
download_id: Optional[str] = Field(default=None, description="任务ID")
|
|
downloader: Optional[str] = Field(default=None, description="下载器")
|
|
path: Optional[str] = Field(default=None, description="下载路径")
|
|
completed: Optional[bool] = Field(default=False, description="是否完成")
|
|
|
|
|
|
class DownloadDirectory(BaseModel):
|
|
"""
|
|
下载目录
|
|
"""
|
|
|
|
name: Optional[str] = Field(default=None, description="目录名称")
|
|
storage: Optional[str] = Field(default="local", description="存储类型")
|
|
download_path: Optional[str] = Field(default=None, description="配置的下载目录")
|
|
save_path: Optional[str] = Field(default=None, description="可直接传给下载接口 save_path 的路径")
|
|
priority: Optional[int] = Field(default=0, description="目录优先级")
|
|
media_type: Optional[str] = Field(default=None, description="适用媒体类型")
|
|
media_category: Optional[str] = Field(default=None, description="适用媒体分类")
|
|
|
|
|
|
class DownloadAddedData(BaseModel):
|
|
"""下载任务添加结果。"""
|
|
|
|
download_id: Optional[str] = Field(default=None, description="下载任务 ID")
|
|
requires_confirmation: bool = Field(
|
|
default=False,
|
|
description="是否需要用户确认后下载未识别资源",
|
|
)
|
|
|
|
|
|
class SubtitleDownloadData(BaseModel):
|
|
"""字幕下载结果。"""
|
|
|
|
files: list[str] = Field(default_factory=list, description="已保存字幕文件列表")
|