fix schemas

This commit is contained in:
jxxghp
2024-12-23 12:40:32 +08:00
parent d45d49edbd
commit a9ffebb3ea
3 changed files with 39 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
import re
from dataclasses import dataclass, field, asdict
from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Dict, Any, Tuple
@@ -142,7 +142,7 @@ class TorrentInfo:
"""
返回字典
"""
dicts = asdict(self)
dicts = vars(self).copy()
dicts["volume_factor"] = self.volume_factor
dicts["freedate_diff"] = self.freedate_diff
return dicts
@@ -740,7 +740,7 @@ class MediaInfo:
"""
返回字典
"""
dicts = asdict(self)
dicts = vars(self).copy()
dicts["type"] = self.type.value if self.type else None
dicts["detail_link"] = self.detail_link
dicts["title_year"] = self.title_year

View File

@@ -17,3 +17,4 @@ from .rule import *
from .system import *
from .file import *
from .exception import *
from .system import *

View File

@@ -1,9 +1,10 @@
from pathlib import Path
from typing import Optional
from typing import Optional, List
from pydantic import BaseModel, Field
from app.core.meta import MetaBase
from app.schemas import TmdbEpisode, MetaInfo, MediaInfo
from app.schemas.system import TransferDirectoryConf
from app.schemas.file import FileItem
@@ -46,12 +47,32 @@ class TransferTask(BaseModel):
文件整理任务
"""
fileitem: Optional[FileItem] = None
meta: Optional[MetaBase] = None
meta: Optional[MetaInfo] = None
mediainfo: Optional[MediaInfo] = None
target_directory: Optional[TransferDirectoryConf] = None
target_storage: Optional[str] = None
target_path: Optional[Path] = None
transfer_type: Optional[str] = None
scrape: Optional[bool] = None
library_type_folder: Optional[bool] = None
library_category_folder: Optional[bool] = None
episodes_info: Optional[List[TmdbEpisode]] = None
def to_dict(self):
"""
返回字典
"""
dicts = vars(self).copy()
dicts["fileitem"] = self.fileitem.dict() if self.fileitem else None
dicts["meta"] = self.meta.dict() if self.meta else None
dicts["mediainfo"] = self.mediainfo.dict() if self.mediainfo else None
dicts["target_directory"] = self.target_directory.dict() if self.target_directory else None
return dicts
class TransferInfo(BaseModel):
"""
文件整理结果信息
文件整理结果
"""
# 是否成功标志
success: bool = True
@@ -90,6 +111,16 @@ class TransferInfo(BaseModel):
return dicts
class AsyncTransferCallback(BaseModel):
"""
异步整理回调信息
"""
# 任务信息
task: Optional[TransferTask] = None
# 结果信息
result: Optional[TransferInfo] = None
class EpisodeFormat(BaseModel):
"""
剧集自定义识别格式