Files
MoviePilot/app/schemas/site.py

107 lines
2.4 KiB
Python

from typing import Optional, Any
from pydantic import BaseModel
class Site(BaseModel):
# ID
id: Optional[int]
# 站点名称
name: Optional[str]
# 站点主域名Key
domain: Optional[str]
# 站点地址
url: Optional[str]
# 站点优先级
pri: Optional[int] = 0
# RSS地址
rss: Optional[str] = None
# Cookie
cookie: Optional[str] = None
# User-Agent
ua: Optional[str] = None
# ApiKey
apikey: Optional[str] = None
# Token
token: Optional[str] = None
# 是否使用代理
proxy: Optional[int] = 0
# 过滤规则
filter: Optional[str] = None
# 是否演染
render: Optional[int] = 0
# 是否公开站点
public: Optional[int] = 0
# 备注
note: Optional[Any] = None
# 超时时间
timeout: Optional[int] = 0
# 流控单位周期
limit_interval: Optional[int] = None
# 流控次数
limit_count: Optional[int] = None
# 流控间隔
limit_seconds: Optional[int] = None
# 是否启用
is_active: Optional[bool] = True
class Config:
orm_mode = True
class SiteStatistic(BaseModel):
# 站点ID
domain: Optional[str]
# 成功次数
success: Optional[int] = 0
# 失败次数
fail: Optional[int] = 0
# 平均响应时间
seconds: Optional[int] = 0
# 最后状态
lst_state: Optional[int] = 0
# 最后修改时间
lst_mod_date: Optional[str]
# 备注
note: Optional[Any] = None
class Config:
orm_mode = True
class SiteUserData(BaseModel):
# 站点域名
domain: Optional[str]
# 用户名
username: Optional[str]
# 用户ID
userid: Optional[int]
# 用户等级
user_level: Optional[str]
# 加入时间
join_at: Optional[str]
# 积分
bonus: Optional[float] = 0.0
# 上传量
upload: Optional[int] = 0
# 下载量
download: Optional[int] = 0
# 分享率
ratio: Optional[float] = 0
# 做种数
seeding: Optional[int] = 0
# 下载数
leeching: Optional[int] = 0
# 做种体积
seeding_size: Optional[int] = 0
# 下载体积
leeching_size: Optional[int] = 0
# 做种人数, 种子大小
seeding_info: Optional[list] = []
# 未读消息
message_unread: Optional[int] = 0
# 未读消息内容
message_unread_contents: Optional[list] = []
# 错误信息
err_msg: Optional[str] = None