feat 本地存在标识&媒体库同步
This commit is contained in:
@ -1,10 +1,7 @@
|
||||
from pathlib import Path
|
||||
from typing import Optional, Dict, List, Union
|
||||
from typing import Optional, Dict, List
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from app.schemas.types import MediaType, NotificationType, MessageChannel
|
||||
|
||||
|
||||
class MetaInfo(BaseModel):
|
||||
"""
|
||||
@ -199,165 +196,3 @@ class Context(BaseModel):
|
||||
media_info: Optional[MediaInfo] = None
|
||||
# 种子信息
|
||||
torrent_info: Optional[TorrentInfo] = None
|
||||
|
||||
|
||||
class TransferTorrent(BaseModel):
|
||||
"""
|
||||
待转移任务信息
|
||||
"""
|
||||
title: Optional[str] = None
|
||||
path: Optional[Path] = None
|
||||
hash: Optional[str] = None
|
||||
tags: Optional[str] = None
|
||||
|
||||
|
||||
class DownloadingTorrent(BaseModel):
|
||||
"""
|
||||
下载中任务信息
|
||||
"""
|
||||
hash: Optional[str] = None
|
||||
title: Optional[str] = None
|
||||
name: Optional[str] = None
|
||||
year: Optional[str] = None
|
||||
season_episode: Optional[str] = None
|
||||
size: Optional[float] = 0
|
||||
progress: Optional[float] = 0
|
||||
state: Optional[str] = 'downloading'
|
||||
upspeed: Optional[str] = None
|
||||
dlspeed: Optional[str] = None
|
||||
media: Optional[dict] = {}
|
||||
|
||||
|
||||
class TransferInfo(BaseModel):
|
||||
"""
|
||||
文件转移结果信息
|
||||
"""
|
||||
# 转移⼁路径
|
||||
path: Optional[Path] = None
|
||||
# 转移后路径
|
||||
target_path: Optional[Path] = None
|
||||
# 处理文件数
|
||||
file_count: Optional[int] = 0
|
||||
# 总文件大小
|
||||
total_size: Optional[float] = 0
|
||||
# 失败清单
|
||||
fail_list: Optional[list] = []
|
||||
# 错误信息
|
||||
message: Optional[str] = None
|
||||
|
||||
|
||||
class ExistMediaInfo(BaseModel):
|
||||
"""
|
||||
媒体服务器存在媒体信息
|
||||
"""
|
||||
# 类型 电影、电视剧
|
||||
type: Optional[MediaType]
|
||||
# 季
|
||||
seasons: Optional[Dict[int, list]] = {}
|
||||
|
||||
|
||||
class NotExistMediaInfo(BaseModel):
|
||||
"""
|
||||
媒体服务器不存在媒体信息
|
||||
"""
|
||||
# 季
|
||||
season: Optional[int] = None
|
||||
# 剧集列表
|
||||
episodes: Optional[list] = []
|
||||
# 总集数
|
||||
total_episodes: Optional[int] = 0
|
||||
# 开始集
|
||||
start_episode: Optional[int] = 0
|
||||
|
||||
|
||||
class RefreshMediaItem(BaseModel):
|
||||
"""
|
||||
媒体库刷新信息
|
||||
"""
|
||||
# 标题
|
||||
title: Optional[str] = None
|
||||
# 年份
|
||||
year: Optional[str] = None
|
||||
# 类型
|
||||
type: Optional[MediaType] = None
|
||||
# 类别
|
||||
category: Optional[str] = None
|
||||
# 目录
|
||||
target_path: Optional[Path] = None
|
||||
|
||||
|
||||
class TmdbSeason(BaseModel):
|
||||
"""
|
||||
TMDB季信息
|
||||
"""
|
||||
air_date: Optional[str] = None
|
||||
episode_count: Optional[int] = None
|
||||
name: Optional[str] = None
|
||||
overview: Optional[str] = None
|
||||
poster_path: Optional[str] = None
|
||||
season_number: Optional[int] = None
|
||||
vote_average: Optional[float] = None
|
||||
|
||||
|
||||
class TmdbEpisode(BaseModel):
|
||||
"""
|
||||
TMDB集信息
|
||||
"""
|
||||
air_date: Optional[str] = None
|
||||
episode_number: Optional[int] = None
|
||||
name: Optional[str] = None
|
||||
overview: Optional[str] = None
|
||||
runtime: Optional[int] = None
|
||||
season_number: Optional[int] = None
|
||||
still_path: Optional[str] = None
|
||||
vote_average: Optional[float] = None
|
||||
crew: Optional[list] = []
|
||||
guest_stars: Optional[list] = []
|
||||
|
||||
|
||||
class Notification(BaseModel):
|
||||
"""
|
||||
消息
|
||||
"""
|
||||
# 消息渠道
|
||||
channel: Optional[MessageChannel] = None
|
||||
# 消息类型
|
||||
mtype: Optional[NotificationType] = None
|
||||
# 标题
|
||||
title: Optional[str] = None
|
||||
# 文本内容
|
||||
text: Optional[str] = None
|
||||
# 图片
|
||||
image: Optional[str] = None
|
||||
# 链接
|
||||
link: Optional[str] = None
|
||||
# 用户ID
|
||||
userid: Optional[Union[str, int]] = None
|
||||
|
||||
|
||||
class CommingMessage(BaseModel):
|
||||
"""
|
||||
外来消息
|
||||
"""
|
||||
# 用户ID
|
||||
userid: Optional[Union[str, int]] = None
|
||||
# 用户名称
|
||||
username: Optional[str] = None
|
||||
# 消息渠道
|
||||
channel: Optional[MessageChannel] = None
|
||||
# 消息体
|
||||
text: Optional[str] = None
|
||||
|
||||
|
||||
class NotificationSwitch(BaseModel):
|
||||
"""
|
||||
消息开关
|
||||
"""
|
||||
# 消息类型
|
||||
mtype: Optional[str] = None
|
||||
# 微信开关
|
||||
wechat: Optional[bool] = False
|
||||
# TG开关
|
||||
telegram: Optional[bool] = False
|
||||
# Slack开关
|
||||
slack: Optional[bool] = False
|
||||
|
Reference in New Issue
Block a user