mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
fix schemas
This commit is contained in:
+23
-23
@@ -57,7 +57,7 @@ class TorrentInfo:
|
|||||||
# HR
|
# HR
|
||||||
hit_and_run: bool = False
|
hit_and_run: bool = False
|
||||||
# 种子标签
|
# 种子标签
|
||||||
labels: list = field(default_factory=list)
|
labels: list = field(default_factory=[])
|
||||||
# 种子优先级
|
# 种子优先级
|
||||||
pri_order: int = 0
|
pri_order: int = 0
|
||||||
# 种子分类 电影/电视剧
|
# 种子分类 电影/电视剧
|
||||||
@@ -197,61 +197,61 @@ class MediaInfo:
|
|||||||
# 描述
|
# 描述
|
||||||
overview: str = None
|
overview: str = None
|
||||||
# 风格ID
|
# 风格ID
|
||||||
genre_ids: list = field(default_factory=list)
|
genre_ids: list = field(default_factory=[])
|
||||||
# 所有别名和译名
|
# 所有别名和译名
|
||||||
names: list = field(default_factory=list)
|
names: list = field(default_factory=[])
|
||||||
# 各季的剧集清单信息
|
# 各季的剧集清单信息
|
||||||
seasons: Dict[int, list] = field(default_factory=dict)
|
seasons: Dict[int, list] = field(default_factory={})
|
||||||
# 各季详情
|
# 各季详情
|
||||||
season_info: List[dict] = field(default_factory=list)
|
season_info: List[dict] = field(default_factory=[])
|
||||||
# 各季的年份
|
# 各季的年份
|
||||||
season_years: dict = field(default_factory=dict)
|
season_years: dict = field(default_factory={})
|
||||||
# 二级分类
|
# 二级分类
|
||||||
category: str = ""
|
category: str = ""
|
||||||
# TMDB INFO
|
# TMDB INFO
|
||||||
tmdb_info: dict = field(default_factory=dict)
|
tmdb_info: dict = field(default_factory={})
|
||||||
# 豆瓣 INFO
|
# 豆瓣 INFO
|
||||||
douban_info: dict = field(default_factory=dict)
|
douban_info: dict = field(default_factory={})
|
||||||
# Bangumi INFO
|
# Bangumi INFO
|
||||||
bangumi_info: dict = field(default_factory=dict)
|
bangumi_info: dict = field(default_factory={})
|
||||||
# 导演
|
# 导演
|
||||||
directors: List[dict] = field(default_factory=list)
|
directors: List[dict] = field(default_factory=[])
|
||||||
# 演员
|
# 演员
|
||||||
actors: List[dict] = field(default_factory=list)
|
actors: List[dict] = field(default_factory=[])
|
||||||
# 是否成人内容
|
# 是否成人内容
|
||||||
adult: bool = False
|
adult: bool = False
|
||||||
# 创建人
|
# 创建人
|
||||||
created_by: list = field(default_factory=list)
|
created_by: list = field(default_factory=[])
|
||||||
# 集时长
|
# 集时长
|
||||||
episode_run_time: list = field(default_factory=list)
|
episode_run_time: list = field(default_factory=[])
|
||||||
# 风格
|
# 风格
|
||||||
genres: List[dict] = field(default_factory=list)
|
genres: List[dict] = field(default_factory=[])
|
||||||
# 首播日期
|
# 首播日期
|
||||||
first_air_date: str = None
|
first_air_date: str = None
|
||||||
# 首页
|
# 首页
|
||||||
homepage: str = None
|
homepage: str = None
|
||||||
# 语种
|
# 语种
|
||||||
languages: list = field(default_factory=list)
|
languages: list = field(default_factory=[])
|
||||||
# 最后上映日期
|
# 最后上映日期
|
||||||
last_air_date: str = None
|
last_air_date: str = None
|
||||||
# 流媒体平台
|
# 流媒体平台
|
||||||
networks: list = field(default_factory=list)
|
networks: list = field(default_factory=[])
|
||||||
# 集数
|
# 集数
|
||||||
number_of_episodes: int = None
|
number_of_episodes: int = None
|
||||||
# 季数
|
# 季数
|
||||||
number_of_seasons: int = None
|
number_of_seasons: int = None
|
||||||
# 原产国
|
# 原产国
|
||||||
origin_country: list = field(default_factory=list)
|
origin_country: list = field(default_factory=[])
|
||||||
# 原名
|
# 原名
|
||||||
original_name: str = None
|
original_name: str = None
|
||||||
# 出品公司
|
# 出品公司
|
||||||
production_companies: list = field(default_factory=list)
|
production_companies: list = field(default_factory=[])
|
||||||
# 出品国
|
# 出品国
|
||||||
production_countries: list = field(default_factory=list)
|
production_countries: list = field(default_factory=[])
|
||||||
# 语种
|
# 语种
|
||||||
spoken_languages: list = field(default_factory=list)
|
spoken_languages: list = field(default_factory=[])
|
||||||
# 所有发行日期
|
# 所有发行日期
|
||||||
release_dates: list = field(default_factory=list)
|
release_dates: list = field(default_factory=[])
|
||||||
# 状态
|
# 状态
|
||||||
status: str = None
|
status: str = None
|
||||||
# 标签
|
# 标签
|
||||||
@@ -263,11 +263,11 @@ class MediaInfo:
|
|||||||
# 时长
|
# 时长
|
||||||
runtime: int = None
|
runtime: int = None
|
||||||
# 下一集
|
# 下一集
|
||||||
next_episode_to_air: dict = field(default_factory=dict)
|
next_episode_to_air: dict = field(default_factory={})
|
||||||
# 内容分级
|
# 内容分级
|
||||||
content_rating: str = None
|
content_rating: str = None
|
||||||
# 全部剧集组
|
# 全部剧集组
|
||||||
episode_groups: List[dict] = field(default_factory=list)
|
episode_groups: List[dict] = field(default_factory=[])
|
||||||
# 剧集组
|
# 剧集组
|
||||||
episode_group: str = None
|
episode_group: str = None
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ class ConversationMemory(BaseModel):
|
|||||||
session_id: str = Field(description="会话ID")
|
session_id: str = Field(description="会话ID")
|
||||||
user_id: Optional[str] = Field(default=None, description="用户ID")
|
user_id: Optional[str] = Field(default=None, description="用户ID")
|
||||||
title: Optional[str] = Field(default=None, description="会话标题")
|
title: Optional[str] = Field(default=None, description="会话标题")
|
||||||
messages: List[Dict[str, Any]] = Field(default_factory=list, description="消息列表")
|
messages: List[Dict[str, Any]] = Field(default_factory=[], description="消息列表")
|
||||||
context: Dict[str, Any] = Field(default_factory=dict, description="会话上下文")
|
context: Dict[str, Any] = Field(default_factory={}, description="会话上下文")
|
||||||
created_at: datetime = Field(default_factory=datetime.now, description="创建时间")
|
created_at: datetime = Field(default_factory=datetime.now, description="创建时间")
|
||||||
updated_at: datetime = Field(default_factory=datetime.now, description="更新时间")
|
updated_at: datetime = Field(default_factory=datetime.now, description="更新时间")
|
||||||
|
|
||||||
|
|||||||
+24
-24
@@ -40,7 +40,7 @@ class MetaInfo(BaseModel):
|
|||||||
# SxxExx
|
# SxxExx
|
||||||
season_episode: Optional[str] = None
|
season_episode: Optional[str] = None
|
||||||
# 集列表
|
# 集列表
|
||||||
episode_list: Optional[List[int]] = Field(default_factory=list)
|
episode_list: Optional[List[int]] = Field(default_factory=[])
|
||||||
# Partx Cd Dvd Disk Disc
|
# Partx Cd Dvd Disk Disc
|
||||||
part: Optional[str] = None
|
part: Optional[str] = None
|
||||||
# 识别的资源类型
|
# 识别的资源类型
|
||||||
@@ -114,58 +114,58 @@ class MediaInfo(BaseModel):
|
|||||||
# 二级分类
|
# 二级分类
|
||||||
category: Optional[str] = ""
|
category: Optional[str] = ""
|
||||||
# 季季集清单
|
# 季季集清单
|
||||||
seasons: Optional[Dict[int, list]] = Field(default_factory=dict)
|
seasons: Optional[Dict[int, list]] = Field(default_factory={})
|
||||||
# 季详情
|
# 季详情
|
||||||
season_info: Optional[List[dict]] = Field(default_factory=list)
|
season_info: Optional[List[dict]] = Field(default_factory=[])
|
||||||
# 别名和译名
|
# 别名和译名
|
||||||
names: Optional[list] = Field(default_factory=list)
|
names: Optional[list] = Field(default_factory=[])
|
||||||
# 演员
|
# 演员
|
||||||
actors: Optional[list] = Field(default_factory=list)
|
actors: Optional[list] = Field(default_factory=[])
|
||||||
# 导演
|
# 导演
|
||||||
directors: Optional[list] = Field(default_factory=list)
|
directors: Optional[list] = Field(default_factory=[])
|
||||||
# 详情链接
|
# 详情链接
|
||||||
detail_link: Optional[str] = None
|
detail_link: Optional[str] = None
|
||||||
# 其它TMDB属性
|
# 其它TMDB属性
|
||||||
# 是否成人内容
|
# 是否成人内容
|
||||||
adult: Optional[bool] = False
|
adult: Optional[bool] = False
|
||||||
# 创建人
|
# 创建人
|
||||||
created_by: Optional[list] = Field(default_factory=list)
|
created_by: Optional[list] = Field(default_factory=[])
|
||||||
# 集时长
|
# 集时长
|
||||||
episode_run_time: Optional[list] = Field(default_factory=list)
|
episode_run_time: Optional[list] = Field(default_factory=[])
|
||||||
# 风格
|
# 风格
|
||||||
genres: Optional[List[dict]] = Field(default_factory=list)
|
genres: Optional[List[dict]] = Field(default_factory=[])
|
||||||
# 首播日期
|
# 首播日期
|
||||||
first_air_date: Optional[str] = None
|
first_air_date: Optional[str] = None
|
||||||
# 首页
|
# 首页
|
||||||
homepage: Optional[str] = None
|
homepage: Optional[str] = None
|
||||||
# 语种
|
# 语种
|
||||||
languages: Optional[list] = Field(default_factory=list)
|
languages: Optional[list] = Field(default_factory=[])
|
||||||
# 最后上映日期
|
# 最后上映日期
|
||||||
last_air_date: Optional[str] = None
|
last_air_date: Optional[str] = None
|
||||||
# 流媒体平台
|
# 流媒体平台
|
||||||
networks: Optional[list] = Field(default_factory=list)
|
networks: Optional[list] = Field(default_factory=[])
|
||||||
# 集数
|
# 集数
|
||||||
number_of_episodes: Optional[int] = 0
|
number_of_episodes: Optional[int] = 0
|
||||||
# 季数
|
# 季数
|
||||||
number_of_seasons: Optional[int] = 0
|
number_of_seasons: Optional[int] = 0
|
||||||
# 原产国
|
# 原产国
|
||||||
origin_country: Optional[list] = Field(default_factory=list)
|
origin_country: Optional[list] = Field(default_factory=[])
|
||||||
# 原名
|
# 原名
|
||||||
original_name: Optional[str] = None
|
original_name: Optional[str] = None
|
||||||
# 出品公司
|
# 出品公司
|
||||||
production_companies: Optional[list] = Field(default_factory=list)
|
production_companies: Optional[list] = Field(default_factory=[])
|
||||||
# 出品国
|
# 出品国
|
||||||
production_countries: Optional[list] = Field(default_factory=list)
|
production_countries: Optional[list] = Field(default_factory=[])
|
||||||
# 语种
|
# 语种
|
||||||
spoken_languages: Optional[list] = Field(default_factory=list)
|
spoken_languages: Optional[list] = Field(default_factory=[])
|
||||||
# 所有发行日期
|
# 所有发行日期
|
||||||
release_dates: list = Field(default_factory=list)
|
release_dates: list = Field(default_factory=[])
|
||||||
# 状态
|
# 状态
|
||||||
status: Optional[str] = None
|
status: Optional[str] = None
|
||||||
# 标签
|
# 标签
|
||||||
tagline: Optional[str] = None
|
tagline: Optional[str] = None
|
||||||
# 风格ID
|
# 风格ID
|
||||||
genre_ids: Optional[list] = Field(default_factory=list)
|
genre_ids: Optional[list] = Field(default_factory=[])
|
||||||
# 评价数量
|
# 评价数量
|
||||||
vote_count: Optional[int] = 0
|
vote_count: Optional[int] = 0
|
||||||
# 流行度
|
# 流行度
|
||||||
@@ -173,9 +173,9 @@ class MediaInfo(BaseModel):
|
|||||||
# 时长
|
# 时长
|
||||||
runtime: Optional[int] = None
|
runtime: Optional[int] = None
|
||||||
# 下一集
|
# 下一集
|
||||||
next_episode_to_air: Optional[dict] = Field(default_factory=dict)
|
next_episode_to_air: Optional[dict] = Field(default_factory={})
|
||||||
# 全部剧集组
|
# 全部剧集组
|
||||||
episode_groups: Optional[list] = Field(default_factory=list)
|
episode_groups: Optional[list] = Field(default_factory=[])
|
||||||
# 剧集组
|
# 剧集组
|
||||||
episode_group: Optional[str] = None
|
episode_group: Optional[str] = None
|
||||||
|
|
||||||
@@ -229,7 +229,7 @@ class TorrentInfo(BaseModel):
|
|||||||
# HR
|
# HR
|
||||||
hit_and_run: Optional[bool] = False
|
hit_and_run: Optional[bool] = False
|
||||||
# 种子标签
|
# 种子标签
|
||||||
labels: Optional[list] = Field(default_factory=list)
|
labels: Optional[list] = Field(default_factory=[])
|
||||||
# 种子优先级
|
# 种子优先级
|
||||||
pri_order: Optional[int] = 0
|
pri_order: Optional[int] = 0
|
||||||
# 促销
|
# 促销
|
||||||
@@ -274,13 +274,13 @@ class MediaPerson(BaseModel):
|
|||||||
type: Optional[Union[str, int]] = 1
|
type: Optional[Union[str, int]] = 1
|
||||||
name: Optional[str] = None
|
name: Optional[str] = None
|
||||||
character: Optional[str] = None
|
character: Optional[str] = None
|
||||||
images: Optional[dict] = Field(default_factory=dict)
|
images: Optional[dict] = Field(default_factory={})
|
||||||
# themoviedb
|
# themoviedb
|
||||||
profile_path: Optional[str] = None
|
profile_path: Optional[str] = None
|
||||||
gender: Optional[Union[str, int]] = None
|
gender: Optional[Union[str, int]] = None
|
||||||
original_name: Optional[str] = None
|
original_name: Optional[str] = None
|
||||||
credit_id: Optional[str] = None
|
credit_id: Optional[str] = None
|
||||||
also_known_as: Optional[list] = Field(default_factory=list)
|
also_known_as: Optional[list] = Field(default_factory=[])
|
||||||
birthday: Optional[str] = None
|
birthday: Optional[str] = None
|
||||||
deathday: Optional[str] = None
|
deathday: Optional[str] = None
|
||||||
imdb_id: Optional[str] = None
|
imdb_id: Optional[str] = None
|
||||||
@@ -289,11 +289,11 @@ class MediaPerson(BaseModel):
|
|||||||
popularity: Optional[float] = None
|
popularity: Optional[float] = None
|
||||||
biography: Optional[str] = None
|
biography: Optional[str] = None
|
||||||
# douban
|
# douban
|
||||||
roles: Optional[list] = Field(default_factory=list)
|
roles: Optional[list] = Field(default_factory=[])
|
||||||
title: Optional[str] = None
|
title: Optional[str] = None
|
||||||
url: Optional[str] = None
|
url: Optional[str] = None
|
||||||
avatar: Optional[Union[str, dict]] = None
|
avatar: Optional[Union[str, dict]] = None
|
||||||
latin_name: Optional[str] = None
|
latin_name: Optional[str] = None
|
||||||
# bangumi
|
# bangumi
|
||||||
career: Optional[list] = Field(default_factory=list)
|
career: Optional[list] = Field(default_factory=[])
|
||||||
relation: Optional[str] = None
|
relation: Optional[str] = None
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class Event(BaseModel):
|
|||||||
事件模型
|
事件模型
|
||||||
"""
|
"""
|
||||||
event_type: str = Field(..., description="事件类型")
|
event_type: str = Field(..., description="事件类型")
|
||||||
event_data: Optional[dict] = Field(default={}, description="事件数据")
|
event_data: Optional[dict] = Field(default_factory={}, description="事件数据")
|
||||||
priority: Optional[int] = Field(0, description="事件优先级")
|
priority: Optional[int] = Field(0, description="事件优先级")
|
||||||
|
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ class AuthCredentials(ChainEventData):
|
|||||||
mfa_code: Optional[str] = Field(None, description="一次性密码,目前仅适用于 'password' 认证类型")
|
mfa_code: Optional[str] = Field(None, description="一次性密码,目前仅适用于 'password' 认证类型")
|
||||||
code: Optional[str] = Field(None, description="授权码,适用于 'authorization_code' 认证类型")
|
code: Optional[str] = Field(None, description="授权码,适用于 'authorization_code' 认证类型")
|
||||||
grant_type: str = Field(..., description="认证类型,如 'password', 'authorization_code', 'client_credentials'")
|
grant_type: str = Field(..., description="认证类型,如 'password', 'authorization_code', 'client_credentials'")
|
||||||
# scope: List[str] = Field(default_factory=list, description="权限范围,如 ['read', 'write']")
|
# scope: List[str] = Field(default_factory=[], description="权限范围,如 ['read', 'write']")
|
||||||
|
|
||||||
# 输出参数
|
# 输出参数
|
||||||
# grant_type 为 authorization_code 时,输出参数包括 username、token、channel、service
|
# grant_type 为 authorization_code 时,输出参数包括 username、token、channel、service
|
||||||
@@ -216,7 +216,7 @@ class ResourceDownloadEventData(ChainEventData):
|
|||||||
channel: Optional[MessageChannel] = Field(None, description="通知渠道")
|
channel: Optional[MessageChannel] = Field(None, description="通知渠道")
|
||||||
origin: Optional[str] = Field(None, description="来源")
|
origin: Optional[str] = Field(None, description="来源")
|
||||||
downloader: Optional[str] = Field(None, description="下载器")
|
downloader: Optional[str] = Field(None, description="下载器")
|
||||||
options: Optional[dict] = Field(default={}, description="其他参数")
|
options: Optional[dict] = Field(default_factory={}, description="其他参数")
|
||||||
|
|
||||||
# 输出参数
|
# 输出参数
|
||||||
cancel: bool = Field(default=False, description="是否取消下载")
|
cancel: bool = Field(default=False, description="是否取消下载")
|
||||||
@@ -263,7 +263,7 @@ class DiscoverMediaSource(BaseModel):
|
|||||||
mediaid_prefix: str = Field(..., description="媒体ID的前缀,不含:")
|
mediaid_prefix: str = Field(..., description="媒体ID的前缀,不含:")
|
||||||
api_path: str = Field(..., description="媒体数据源API地址")
|
api_path: str = Field(..., description="媒体数据源API地址")
|
||||||
filter_params: Optional[Dict[str, Any]] = Field(default=None, description="过滤参数")
|
filter_params: Optional[Dict[str, Any]] = Field(default=None, description="过滤参数")
|
||||||
filter_ui: Optional[List[dict]] = Field(default=[], description="过滤参数UI配置")
|
filter_ui: Optional[List[dict]] = Field(default_factory=[], description="过滤参数UI配置")
|
||||||
depends: Optional[Dict[str, list]] = Field(default=None, description="UI依赖关系字典")
|
depends: Optional[Dict[str, list]] = Field(default=None, description="UI依赖关系字典")
|
||||||
|
|
||||||
|
|
||||||
@@ -276,7 +276,7 @@ class DiscoverSourceEventData(ChainEventData):
|
|||||||
extra_sources (List[DiscoverMediaSource]): 额外媒体数据源
|
extra_sources (List[DiscoverMediaSource]): 额外媒体数据源
|
||||||
"""
|
"""
|
||||||
# 输出参数
|
# 输出参数
|
||||||
extra_sources: List[DiscoverMediaSource] = Field(default_factory=list, description="额外媒体数据源")
|
extra_sources: List[DiscoverMediaSource] = Field(default_factory=[], description="额外媒体数据源")
|
||||||
|
|
||||||
|
|
||||||
class RecommendMediaSource(BaseModel):
|
class RecommendMediaSource(BaseModel):
|
||||||
@@ -297,7 +297,7 @@ class RecommendSourceEventData(ChainEventData):
|
|||||||
extra_sources (List[RecommendMediaSource]): 额外媒体数据源
|
extra_sources (List[RecommendMediaSource]): 额外媒体数据源
|
||||||
"""
|
"""
|
||||||
# 输出参数
|
# 输出参数
|
||||||
extra_sources: List[RecommendMediaSource] = Field(default_factory=list, description="额外媒体数据源")
|
extra_sources: List[RecommendMediaSource] = Field(default_factory=[], description="额外媒体数据源")
|
||||||
|
|
||||||
|
|
||||||
class MediaRecognizeConvertEventData(ChainEventData):
|
class MediaRecognizeConvertEventData(ChainEventData):
|
||||||
@@ -317,7 +317,7 @@ class MediaRecognizeConvertEventData(ChainEventData):
|
|||||||
convert_type: str = Field(..., description="转换类型(themoviedb/douban)")
|
convert_type: str = Field(..., description="转换类型(themoviedb/douban)")
|
||||||
|
|
||||||
# 输出参数
|
# 输出参数
|
||||||
media_dict: dict = Field(default_factory=dict, description="转换后的媒体信息(TheMovieDb/豆瓣)")
|
media_dict: dict = Field(default_factory={}, description="转换后的媒体信息(TheMovieDb/豆瓣)")
|
||||||
|
|
||||||
|
|
||||||
class StorageOperSelectionEventData(ChainEventData):
|
class StorageOperSelectionEventData(ChainEventData):
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@ class FileItem(BaseModel):
|
|||||||
# 修改时间
|
# 修改时间
|
||||||
modify_time: Optional[float] = None
|
modify_time: Optional[float] = None
|
||||||
# 子节点
|
# 子节点
|
||||||
children: Optional[list] = Field(default_factory=list)
|
children: Optional[list] = Field(default_factory=[])
|
||||||
# ID
|
# ID
|
||||||
fileid: Optional[str] = None
|
fileid: Optional[str] = None
|
||||||
# 父ID
|
# 父ID
|
||||||
@@ -45,4 +45,4 @@ class StorageUsage(BaseModel):
|
|||||||
|
|
||||||
class StorageTransType(BaseModel):
|
class StorageTransType(BaseModel):
|
||||||
# 传输类型
|
# 传输类型
|
||||||
transtype: Optional[dict] = Field(default_factory=dict)
|
transtype: Optional[dict] = Field(default_factory={})
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class ExistMediaInfo(BaseModel):
|
|||||||
# 类型 电影、电视剧
|
# 类型 电影、电视剧
|
||||||
type: Optional[MediaType] = None
|
type: Optional[MediaType] = None
|
||||||
# 季
|
# 季
|
||||||
seasons: Optional[Dict[int, list]] = Field(default_factory=dict)
|
seasons: Optional[Dict[int, list]] = Field(default_factory={})
|
||||||
# 媒体服务器类型:plex、jellyfin、emby、trimemedia
|
# 媒体服务器类型:plex、jellyfin、emby、trimemedia
|
||||||
server_type: Optional[str] = None
|
server_type: Optional[str] = None
|
||||||
# 媒体服务器名称
|
# 媒体服务器名称
|
||||||
@@ -29,7 +29,7 @@ class NotExistMediaInfo(BaseModel):
|
|||||||
# 季
|
# 季
|
||||||
season: Optional[int] = None
|
season: Optional[int] = None
|
||||||
# 剧集列表
|
# 剧集列表
|
||||||
episodes: Optional[list] = Field(default_factory=list)
|
episodes: Optional[list] = Field(default_factory=[])
|
||||||
# 总集数
|
# 总集数
|
||||||
total_episode: Optional[int] = 0
|
total_episode: Optional[int] = 0
|
||||||
# 开始集
|
# 开始集
|
||||||
@@ -135,7 +135,7 @@ class MediaServerSeasonInfo(BaseModel):
|
|||||||
媒体服务器媒体剧集信息
|
媒体服务器媒体剧集信息
|
||||||
"""
|
"""
|
||||||
season: Optional[int] = None
|
season: Optional[int] = None
|
||||||
episodes: Optional[List[int]] = Field(default_factory=list)
|
episodes: Optional[List[int]] = Field(default_factory=[])
|
||||||
|
|
||||||
|
|
||||||
class WebhookEventInfo(BaseModel):
|
class WebhookEventInfo(BaseModel):
|
||||||
@@ -163,7 +163,7 @@ class WebhookEventInfo(BaseModel):
|
|||||||
save_reason: Optional[str] = None
|
save_reason: Optional[str] = None
|
||||||
item_isvirtual: Optional[bool] = None
|
item_isvirtual: Optional[bool] = None
|
||||||
media_type: Optional[str] = None
|
media_type: Optional[str] = None
|
||||||
json_object: Optional[dict] = Field(default_factory=dict)
|
json_object: Optional[dict] = Field(default_factory={})
|
||||||
|
|
||||||
|
|
||||||
class MediaServerPlayItem(BaseModel):
|
class MediaServerPlayItem(BaseModel):
|
||||||
@@ -177,7 +177,7 @@ class MediaServerPlayItem(BaseModel):
|
|||||||
image: Optional[str] = None
|
image: Optional[str] = None
|
||||||
link: Optional[str] = None
|
link: Optional[str] = None
|
||||||
percent: Optional[float] = None
|
percent: Optional[float] = None
|
||||||
BackdropImageTags: Optional[list] = Field(default_factory=list)
|
BackdropImageTags: Optional[list] = Field(default_factory=[])
|
||||||
server_type: Optional[str] = None
|
server_type: Optional[str] = None
|
||||||
# 飞牛的图片需要Cookies
|
# 飞牛的图片需要Cookies
|
||||||
use_cookies: Optional[bool] = None
|
use_cookies: Optional[bool] = None
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ class Subscription(BaseModel):
|
|||||||
客户端消息订阅
|
客户端消息订阅
|
||||||
"""
|
"""
|
||||||
endpoint: Optional[str] = None
|
endpoint: Optional[str] = None
|
||||||
keys: Optional[dict] = Field(default_factory=dict)
|
keys: Optional[dict] = Field(default_factory={})
|
||||||
|
|
||||||
|
|
||||||
class SubscriptionMessage(BaseModel):
|
class SubscriptionMessage(BaseModel):
|
||||||
@@ -132,7 +132,7 @@ class SubscriptionMessage(BaseModel):
|
|||||||
body: Optional[str] = None
|
body: Optional[str] = None
|
||||||
icon: Optional[str] = None
|
icon: Optional[str] = None
|
||||||
url: Optional[str] = None
|
url: Optional[str] = None
|
||||||
data: Optional[dict] = Field(default_factory=dict)
|
data: Optional[dict] = Field(default_factory={})
|
||||||
|
|
||||||
|
|
||||||
class ChannelCapability(Enum):
|
class ChannelCapability(Enum):
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class Plugin(BaseModel):
|
|||||||
# 安装次数
|
# 安装次数
|
||||||
install_count: Optional[int] = 0
|
install_count: Optional[int] = 0
|
||||||
# 更新记录
|
# 更新记录
|
||||||
history: Optional[dict] = Field(default_factory=dict)
|
history: Optional[dict] = Field(default_factory={})
|
||||||
# 添加时间,值越小表示越靠后发布
|
# 添加时间,值越小表示越靠后发布
|
||||||
add_time: Optional[int] = 0
|
add_time: Optional[int] = 0
|
||||||
# 插件公钥
|
# 插件公钥
|
||||||
@@ -62,11 +62,11 @@ class PluginDashboard(Plugin):
|
|||||||
# 演染模式
|
# 演染模式
|
||||||
render_mode: Optional[str] = Field(default="vuetify")
|
render_mode: Optional[str] = Field(default="vuetify")
|
||||||
# 全局配置
|
# 全局配置
|
||||||
attrs: Optional[dict] = Field(default_factory=dict)
|
attrs: Optional[dict] = Field(default_factory={})
|
||||||
# col列数
|
# col列数
|
||||||
cols: Optional[dict] = Field(default_factory=dict)
|
cols: Optional[dict] = Field(default_factory={})
|
||||||
# 页面元素
|
# 页面元素
|
||||||
elements: Optional[List[dict]] = Field(default_factory=list)
|
elements: Optional[List[dict]] = Field(default_factory=[])
|
||||||
|
|
||||||
|
|
||||||
class PluginMemoryInfo(BaseModel):
|
class PluginMemoryInfo(BaseModel):
|
||||||
|
|||||||
@@ -9,4 +9,4 @@ class Response(BaseModel):
|
|||||||
# 消息文本
|
# 消息文本
|
||||||
message: Optional[str] = None
|
message: Optional[str] = None
|
||||||
# 数据
|
# 数据
|
||||||
data: Optional[Union[dict, list]] = Field(default_factory=dict)
|
data: Optional[Union[dict, list]] = Field(default_factory={})
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ class SonarrSeries(BaseModel):
|
|||||||
overview: Optional[str] = None
|
overview: Optional[str] = None
|
||||||
network: Optional[str] = None
|
network: Optional[str] = None
|
||||||
airTime: Optional[str] = None
|
airTime: Optional[str] = None
|
||||||
images: list = Field(default_factory=list)
|
images: list = Field(default_factory=[])
|
||||||
remotePoster: Optional[str] = None
|
remotePoster: Optional[str] = None
|
||||||
seasons: list = Field(default_factory=list)
|
seasons: list = Field(default_factory=[])
|
||||||
year: Optional[str] = None
|
year: Optional[str] = None
|
||||||
path: Optional[str] = None
|
path: Optional[str] = None
|
||||||
profileId: Optional[int] = None
|
profileId: Optional[int] = None
|
||||||
@@ -49,11 +49,11 @@ class SonarrSeries(BaseModel):
|
|||||||
cleanTitle: Optional[str] = None
|
cleanTitle: Optional[str] = None
|
||||||
titleSlug: Optional[str] = None
|
titleSlug: Optional[str] = None
|
||||||
certification: Optional[str] = None
|
certification: Optional[str] = None
|
||||||
genres: list = Field(default_factory=list)
|
genres: list = Field(default_factory=[])
|
||||||
tags: list = Field(default_factory=list)
|
tags: list = Field(default_factory=[])
|
||||||
added: Optional[str] = None
|
added: Optional[str] = None
|
||||||
ratings: Optional[dict] = None
|
ratings: Optional[dict] = None
|
||||||
qualityProfileId: Optional[int] = None
|
qualityProfileId: Optional[int] = None
|
||||||
statistics: dict = Field(default_factory=dict)
|
statistics: dict = Field(default_factory={})
|
||||||
isAvailable: Optional[bool] = False
|
isAvailable: Optional[bool] = False
|
||||||
hasFile: Optional[bool] = False
|
hasFile: Optional[bool] = False
|
||||||
|
|||||||
+3
-3
@@ -97,11 +97,11 @@ class SiteUserData(BaseModel):
|
|||||||
# 下载体积
|
# 下载体积
|
||||||
leeching_size: Optional[int] = 0
|
leeching_size: Optional[int] = 0
|
||||||
# 做种人数, 种子大小
|
# 做种人数, 种子大小
|
||||||
seeding_info: Optional[list] = Field(default_factory=list)
|
seeding_info: Optional[list] = Field(default_factory=[])
|
||||||
# 未读消息
|
# 未读消息
|
||||||
message_unread: Optional[int] = 0
|
message_unread: Optional[int] = 0
|
||||||
# 未读消息内容
|
# 未读消息内容
|
||||||
message_unread_contents: Optional[list] = Field(default_factory=list)
|
message_unread_contents: Optional[list] = Field(default_factory=[])
|
||||||
# 错误信息
|
# 错误信息
|
||||||
err_msg: Optional[str] = None
|
err_msg: Optional[str] = None
|
||||||
# 更新日期
|
# 更新日期
|
||||||
@@ -112,7 +112,7 @@ class SiteUserData(BaseModel):
|
|||||||
|
|
||||||
class SiteAuth(BaseModel):
|
class SiteAuth(BaseModel):
|
||||||
site: Optional[str] = None
|
site: Optional[str] = None
|
||||||
params: Optional[Dict[str, Union[int, str]]] = Field(default_factory=dict)
|
params: Optional[Dict[str, Union[int, str]]] = Field(default_factory={})
|
||||||
|
|
||||||
|
|
||||||
class SiteCategory(BaseModel):
|
class SiteCategory(BaseModel):
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ class Subscribe(BaseModel):
|
|||||||
# 订阅用户
|
# 订阅用户
|
||||||
username: Optional[str] = None
|
username: Optional[str] = None
|
||||||
# 订阅站点
|
# 订阅站点
|
||||||
sites: Optional[List[int]] = Field(default_factory=list)
|
sites: Optional[List[int]] = Field(default_factory=[])
|
||||||
# 下载器
|
# 下载器
|
||||||
downloader: Optional[str] = None
|
downloader: Optional[str] = None
|
||||||
# 是否洗版
|
# 是否洗版
|
||||||
@@ -72,7 +72,7 @@ class Subscribe(BaseModel):
|
|||||||
# 自定义媒体类别
|
# 自定义媒体类别
|
||||||
media_category: Optional[str] = None
|
media_category: Optional[str] = None
|
||||||
# 过滤规则组
|
# 过滤规则组
|
||||||
filter_groups: Optional[List[str]] = Field(default_factory=list)
|
filter_groups: Optional[List[str]] = Field(default_factory=[])
|
||||||
# 剧集组
|
# 剧集组
|
||||||
episode_group: Optional[str] = None
|
episode_group: Optional[str] = None
|
||||||
|
|
||||||
@@ -174,13 +174,13 @@ class SubscribeEpisodeInfo(BaseModel):
|
|||||||
# 背景图
|
# 背景图
|
||||||
backdrop: Optional[str] = None
|
backdrop: Optional[str] = None
|
||||||
# 下载文件信息
|
# 下载文件信息
|
||||||
download: Optional[List[SubscribeDownloadFileInfo]] = Field(default_factory=list)
|
download: Optional[List[SubscribeDownloadFileInfo]] = Field(default_factory=[])
|
||||||
# 媒体库文件信息
|
# 媒体库文件信息
|
||||||
library: Optional[List[SubscribeLibraryFileInfo]] = Field(default_factory=list)
|
library: Optional[List[SubscribeLibraryFileInfo]] = Field(default_factory=[])
|
||||||
|
|
||||||
|
|
||||||
class SubscrbieInfo(BaseModel):
|
class SubscrbieInfo(BaseModel):
|
||||||
# 订阅信息
|
# 订阅信息
|
||||||
subscribe: Optional[Subscribe] = None
|
subscribe: Optional[Subscribe] = None
|
||||||
# 集信息 {集号: {download: 文件路径,library: 文件路径, backdrop: url, title: 标题, description: 描述}}
|
# 集信息 {集号: {download: 文件路径,library: 文件路径, backdrop: url, title: 标题, description: 描述}}
|
||||||
episodes: Optional[Dict[int, SubscribeEpisodeInfo]] = Field(default_factory=dict)
|
episodes: Optional[Dict[int, SubscribeEpisodeInfo]] = Field(default_factory={})
|
||||||
|
|||||||
@@ -30,11 +30,11 @@ class MediaServerConf(BaseModel):
|
|||||||
# 类型 emby/jellyfin/plex
|
# 类型 emby/jellyfin/plex
|
||||||
type: Optional[str] = None
|
type: Optional[str] = None
|
||||||
# 配置
|
# 配置
|
||||||
config: Optional[dict] = Field(default_factory=dict)
|
config: Optional[dict] = Field(default_factory={})
|
||||||
# 是否启用
|
# 是否启用
|
||||||
enabled: Optional[bool] = False
|
enabled: Optional[bool] = False
|
||||||
# 同步媒体体库列表
|
# 同步媒体体库列表
|
||||||
sync_libraries: Optional[list] = Field(default_factory=list)
|
sync_libraries: Optional[list] = Field(default_factory=[])
|
||||||
|
|
||||||
|
|
||||||
class DownloaderConf(BaseModel):
|
class DownloaderConf(BaseModel):
|
||||||
@@ -48,7 +48,7 @@ class DownloaderConf(BaseModel):
|
|||||||
# 是否默认
|
# 是否默认
|
||||||
default: Optional[bool] = False
|
default: Optional[bool] = False
|
||||||
# 配置
|
# 配置
|
||||||
config: Optional[dict] = Field(default_factory=dict)
|
config: Optional[dict] = Field(default_factory={})
|
||||||
# 是否启用
|
# 是否启用
|
||||||
enabled: Optional[bool] = False
|
enabled: Optional[bool] = False
|
||||||
|
|
||||||
@@ -62,9 +62,9 @@ class NotificationConf(BaseModel):
|
|||||||
# 类型 telegram/wechat/vocechat/synologychat/slack/webpush
|
# 类型 telegram/wechat/vocechat/synologychat/slack/webpush
|
||||||
type: Optional[str] = None
|
type: Optional[str] = None
|
||||||
# 配置
|
# 配置
|
||||||
config: Optional[dict] = Field(default_factory=dict)
|
config: Optional[dict] = Field(default_factory={})
|
||||||
# 场景开关
|
# 场景开关
|
||||||
switchs: Optional[list] = Field(default_factory=list)
|
switchs: Optional[list] = Field(default_factory=[])
|
||||||
# 是否启用
|
# 是否启用
|
||||||
enabled: Optional[bool] = False
|
enabled: Optional[bool] = False
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ class StorageConf(BaseModel):
|
|||||||
# 名称
|
# 名称
|
||||||
name: Optional[str] = None
|
name: Optional[str] = None
|
||||||
# 配置
|
# 配置
|
||||||
config: Optional[dict] = Field(default_factory=dict)
|
config: Optional[dict] = Field(default_factory={})
|
||||||
|
|
||||||
|
|
||||||
class TransferDirectoryConf(BaseModel):
|
class TransferDirectoryConf(BaseModel):
|
||||||
|
|||||||
+2
-2
@@ -29,5 +29,5 @@ class TmdbEpisode(BaseModel):
|
|||||||
season_number: Optional[int] = None
|
season_number: Optional[int] = None
|
||||||
still_path: Optional[str] = None
|
still_path: Optional[str] = None
|
||||||
vote_average: Optional[float] = None
|
vote_average: Optional[float] = None
|
||||||
crew: Optional[list] = Field(default_factory=list)
|
crew: Optional[list] = Field(default_factory=[])
|
||||||
guest_stars: Optional[list] = Field(default_factory=list)
|
guest_stars: Optional[list] = Field(default_factory=[])
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class Token(BaseModel):
|
|||||||
# 权限级别
|
# 权限级别
|
||||||
level: int = 1
|
level: int = 1
|
||||||
# 详细权限
|
# 详细权限
|
||||||
permissions: Optional[dict] = Field(default_factory=dict)
|
permissions: Optional[dict] = Field(default_factory={})
|
||||||
# 是否显示配置向导
|
# 是否显示配置向导
|
||||||
widzard: Optional[bool] = None
|
widzard: Optional[bool] = None
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class DownloadingTorrent(BaseModel):
|
|||||||
state: Optional[str] = 'downloading'
|
state: Optional[str] = 'downloading'
|
||||||
upspeed: Optional[str] = None
|
upspeed: Optional[str] = None
|
||||||
dlspeed: Optional[str] = None
|
dlspeed: Optional[str] = None
|
||||||
media: Optional[dict] = Field(default_factory=dict)
|
media: Optional[dict] = Field(default_factory={})
|
||||||
userid: Optional[str] = None
|
userid: Optional[str] = None
|
||||||
username: Optional[str] = None
|
username: Optional[str] = None
|
||||||
left_time: Optional[str] = None
|
left_time: Optional[str] = None
|
||||||
@@ -97,7 +97,7 @@ class TransferJob(BaseModel):
|
|||||||
"""
|
"""
|
||||||
media: Optional[MediaInfo] = None
|
media: Optional[MediaInfo] = None
|
||||||
season: Optional[int] = None
|
season: Optional[int] = None
|
||||||
tasks: Optional[List[TransferJobTask]] = Field(default_factory=list)
|
tasks: Optional[List[TransferJobTask]] = Field(default_factory=[])
|
||||||
|
|
||||||
|
|
||||||
class TransferInfo(BaseModel):
|
class TransferInfo(BaseModel):
|
||||||
@@ -117,21 +117,21 @@ class TransferInfo(BaseModel):
|
|||||||
# 处理文件数
|
# 处理文件数
|
||||||
file_count: Optional[int] = Field(default=0)
|
file_count: Optional[int] = Field(default=0)
|
||||||
# 处理文件清单
|
# 处理文件清单
|
||||||
file_list: Optional[list] = Field(default_factory=list)
|
file_list: Optional[list] = Field(default_factory=[])
|
||||||
# 目标文件清单
|
# 目标文件清单
|
||||||
file_list_new: Optional[list] = Field(default_factory=list)
|
file_list_new: Optional[list] = Field(default_factory=[])
|
||||||
# 总文件大小
|
# 总文件大小
|
||||||
total_size: Optional[int] = Field(default=0)
|
total_size: Optional[int] = Field(default=0)
|
||||||
# 失败清单
|
# 失败清单
|
||||||
fail_list: Optional[list] = Field(default_factory=list)
|
fail_list: Optional[list] = Field(default_factory=[])
|
||||||
# 处理字幕文件清单
|
# 处理字幕文件清单
|
||||||
subtitle_list: Optional[list] = Field(default_factory=list)
|
subtitle_list: Optional[list] = Field(default_factory=[])
|
||||||
# 目标字幕文件清单
|
# 目标字幕文件清单
|
||||||
subtitle_list_new: Optional[list] = Field(default_factory=list)
|
subtitle_list_new: Optional[list] = Field(default_factory=[])
|
||||||
# 处理音频文件清单
|
# 处理音频文件清单
|
||||||
audio_list: Optional[list] = Field(default_factory=list)
|
audio_list: Optional[list] = Field(default_factory=[])
|
||||||
# 目标音频文件清单
|
# 目标音频文件清单
|
||||||
audio_list_new: Optional[list] = Field(default_factory=list)
|
audio_list_new: Optional[list] = Field(default_factory=[])
|
||||||
# 错误信息
|
# 错误信息
|
||||||
message: Optional[str] = None
|
message: Optional[str] = None
|
||||||
# 是否需要刮削
|
# 是否需要刮削
|
||||||
|
|||||||
+6
-6
@@ -18,9 +18,9 @@ class UserBase(BaseModel):
|
|||||||
# 是否开启二次验证
|
# 是否开启二次验证
|
||||||
is_otp: Optional[bool] = False
|
is_otp: Optional[bool] = False
|
||||||
# 权限
|
# 权限
|
||||||
permissions: Optional[dict] = Field(default_factory=dict)
|
permissions: Optional[dict] = Field(default_factory={})
|
||||||
# 个性化设置
|
# 个性化设置
|
||||||
settings: Optional[dict] = Field(default_factory=dict)
|
settings: Optional[dict] = Field(default_factory={})
|
||||||
|
|
||||||
model_config = ConfigDict(from_attributes=True)
|
model_config = ConfigDict(from_attributes=True)
|
||||||
|
|
||||||
@@ -30,8 +30,8 @@ class UserCreate(UserBase):
|
|||||||
name: str
|
name: str
|
||||||
email: Optional[str] = None
|
email: Optional[str] = None
|
||||||
password: Optional[str] = None
|
password: Optional[str] = None
|
||||||
settings: Optional[dict] = Field(default_factory=dict)
|
settings: Optional[dict] = Field(default_factory={})
|
||||||
permissions: Optional[dict] = Field(default_factory=dict)
|
permissions: Optional[dict] = Field(default_factory={})
|
||||||
|
|
||||||
|
|
||||||
# Properties to receive via API on update
|
# Properties to receive via API on update
|
||||||
@@ -40,8 +40,8 @@ class UserUpdate(UserBase):
|
|||||||
name: str
|
name: str
|
||||||
email: Optional[str] = None
|
email: Optional[str] = None
|
||||||
password: Optional[str] = None
|
password: Optional[str] = None
|
||||||
settings: Optional[dict] = Field(default_factory=dict)
|
settings: Optional[dict] = Field(default_factory={})
|
||||||
permissions: Optional[dict] = Field(default_factory=dict)
|
permissions: Optional[dict] = Field(default_factory={})
|
||||||
|
|
||||||
|
|
||||||
class UserInDBBase(UserBase):
|
class UserInDBBase(UserBase):
|
||||||
|
|||||||
+12
-12
@@ -19,13 +19,13 @@ class Workflow(BaseModel):
|
|||||||
timer: Optional[str] = Field(default=None, description="定时器")
|
timer: Optional[str] = Field(default=None, description="定时器")
|
||||||
trigger_type: Optional[str] = Field(default='timer', description="触发类型:timer-定时触发 event-事件触发 manual-手动触发")
|
trigger_type: Optional[str] = Field(default='timer', description="触发类型:timer-定时触发 event-事件触发 manual-手动触发")
|
||||||
event_type: Optional[str] = Field(default=None, description="事件类型(当trigger_type为event时使用)")
|
event_type: Optional[str] = Field(default=None, description="事件类型(当trigger_type为event时使用)")
|
||||||
event_conditions: Optional[dict] = Field(default={}, description="事件条件(JSON格式,用于过滤事件)")
|
event_conditions: Optional[dict] = Field(default_factory={}, description="事件条件(JSON格式,用于过滤事件)")
|
||||||
state: Optional[str] = Field(default=None, description="状态")
|
state: Optional[str] = Field(default=None, description="状态")
|
||||||
current_action: Optional[str] = Field(default=None, description="已执行动作")
|
current_action: Optional[str] = Field(default=None, description="已执行动作")
|
||||||
result: Optional[str] = Field(default=None, description="任务执行结果")
|
result: Optional[str] = Field(default=None, description="任务执行结果")
|
||||||
run_count: Optional[int] = Field(default=0, description="已执行次数")
|
run_count: Optional[int] = Field(default=0, description="已执行次数")
|
||||||
actions: Optional[list] = Field(default=[], description="任务列表")
|
actions: Optional[list] = Field(default_factory=[], description="任务列表")
|
||||||
flows: Optional[list] = Field(default=[], description="任务流")
|
flows: Optional[list] = Field(default_factory=[], description="任务流")
|
||||||
add_time: Optional[str] = Field(default=None, description="创建时间")
|
add_time: Optional[str] = Field(default=None, description="创建时间")
|
||||||
last_time: Optional[str] = Field(default=None, description="最后执行时间")
|
last_time: Optional[str] = Field(default=None, description="最后执行时间")
|
||||||
|
|
||||||
@@ -48,8 +48,8 @@ class Action(BaseModel):
|
|||||||
type: Optional[str] = Field(default=None, description="动作类型 (类名)")
|
type: Optional[str] = Field(default=None, description="动作类型 (类名)")
|
||||||
name: Optional[str] = Field(default=None, description="动作名称")
|
name: Optional[str] = Field(default=None, description="动作名称")
|
||||||
description: Optional[str] = Field(default=None, description="动作描述")
|
description: Optional[str] = Field(default=None, description="动作描述")
|
||||||
position: Optional[dict] = Field(default={}, description="位置")
|
position: Optional[dict] = Field(default_factory={}, description="位置")
|
||||||
data: Optional[dict] = Field(default={}, description="参数")
|
data: Optional[dict] = Field(default_factory={}, description="参数")
|
||||||
|
|
||||||
|
|
||||||
class ActionExecution(BaseModel):
|
class ActionExecution(BaseModel):
|
||||||
@@ -66,13 +66,13 @@ class ActionContext(BaseModel):
|
|||||||
动作基础上下文,各动作通用数据
|
动作基础上下文,各动作通用数据
|
||||||
"""
|
"""
|
||||||
content: Optional[str] = Field(default=None, description="文本类内容")
|
content: Optional[str] = Field(default=None, description="文本类内容")
|
||||||
torrents: Optional[List[Context]] = Field(default=[], description="资源列表")
|
torrents: Optional[List[Context]] = Field(default_factory=[], description="资源列表")
|
||||||
medias: Optional[List[MediaInfo]] = Field(default=[], description="媒体列表")
|
medias: Optional[List[MediaInfo]] = Field(default_factory=[], description="媒体列表")
|
||||||
fileitems: Optional[List[FileItem]] = Field(default=[], description="文件列表")
|
fileitems: Optional[List[FileItem]] = Field(default_factory=[], description="文件列表")
|
||||||
downloads: Optional[List[DownloadTask]] = Field(default=[], description="下载任务列表")
|
downloads: Optional[List[DownloadTask]] = Field(default_factory=[], description="下载任务列表")
|
||||||
sites: Optional[List[Site]] = Field(default=[], description="站点列表")
|
sites: Optional[List[Site]] = Field(default_factory=[], description="站点列表")
|
||||||
subscribes: Optional[List[Subscribe]] = Field(default=[], description="订阅列表")
|
subscribes: Optional[List[Subscribe]] = Field(default_factory=[], description="订阅列表")
|
||||||
execute_history: Optional[List[ActionExecution]] = Field(default=[], description="执行历史")
|
execute_history: Optional[List[ActionExecution]] = Field(default_factory=[], description="执行历史")
|
||||||
progress: Optional[int] = Field(default=0, description="执行进度(%)")
|
progress: Optional[int] = Field(default=0, description="执行进度(%)")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class FetchMediasParams(ActionParams):
|
|||||||
获取媒体数据参数
|
获取媒体数据参数
|
||||||
"""
|
"""
|
||||||
source_type: Optional[str] = Field(default="ranking", description="来源")
|
source_type: Optional[str] = Field(default="ranking", description="来源")
|
||||||
sources: Optional[List[str]] = Field(default=[], description="榜单")
|
sources: Optional[List[str]] = Field(default_factory=[], description="榜单")
|
||||||
api_path: Optional[str] = Field(default=None, description="API路径")
|
api_path: Optional[str] = Field(default=None, description="API路径")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class FetchTorrentsParams(ActionParams):
|
|||||||
year: Optional[str] = Field(default=None, description="年份")
|
year: Optional[str] = Field(default=None, description="年份")
|
||||||
type: Optional[str] = Field(default=None, description="资源类型 (电影/电视剧)")
|
type: Optional[str] = Field(default=None, description="资源类型 (电影/电视剧)")
|
||||||
season: Optional[int] = Field(default=None, description="季度")
|
season: Optional[int] = Field(default=None, description="季度")
|
||||||
sites: Optional[List[int]] = Field(default=[], description="站点列表")
|
sites: Optional[List[int]] = Field(default_factory=[], description="站点列表")
|
||||||
match_media: Optional[bool] = Field(default=False, description="匹配媒体信息")
|
match_media: Optional[bool] = Field(default=False, description="匹配媒体信息")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class FilterTorrentsParams(ActionParams):
|
|||||||
"""
|
"""
|
||||||
过滤资源数据参数
|
过滤资源数据参数
|
||||||
"""
|
"""
|
||||||
rule_groups: Optional[List[str]] = Field(default=[], description="规则组")
|
rule_groups: Optional[List[str]] = Field(default_factory=[], description="规则组")
|
||||||
quality: Optional[str] = Field(default=None, description="资源质量")
|
quality: Optional[str] = Field(default=None, description="资源质量")
|
||||||
resolution: Optional[str] = Field(default=None, description="资源分辨率")
|
resolution: Optional[str] = Field(default=None, description="资源分辨率")
|
||||||
effect: Optional[str] = Field(default=None, description="特效")
|
effect: Optional[str] = Field(default=None, description="特效")
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class InvokePluginParams(ActionParams):
|
|||||||
"""
|
"""
|
||||||
plugin_id: str = Field(default=None, description="插件ID")
|
plugin_id: str = Field(default=None, description="插件ID")
|
||||||
action_id: str = Field(default=None, description="动作ID")
|
action_id: str = Field(default=None, description="动作ID")
|
||||||
action_params: dict = Field(default={}, description="动作参数")
|
action_params: dict = Field(default_factory={}, description="动作参数")
|
||||||
|
|
||||||
|
|
||||||
class InvokePluginAction(BaseAction):
|
class InvokePluginAction(BaseAction):
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class SendMessageParams(ActionParams):
|
|||||||
"""
|
"""
|
||||||
发送消息参数
|
发送消息参数
|
||||||
"""
|
"""
|
||||||
client: Optional[List[str]] = Field(default=[], description="消息渠道")
|
client: Optional[List[str]] = Field(default_factory=[], description="消息渠道")
|
||||||
userid: Optional[Union[str, int]] = Field(default=None, description="用户ID")
|
userid: Optional[Union[str, int]] = Field(default=None, description="用户ID")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user