feat 手动整理支持自动识别批量处理,增加进度显示
This commit is contained in:
@ -5,11 +5,7 @@ from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app import schemas
|
||||
from app.chain.media import MediaChain
|
||||
from app.chain.transfer import TransferChain
|
||||
from app.core.config import settings
|
||||
from app.core.context import MediaInfo
|
||||
from app.core.metainfo import MetaInfo
|
||||
from app.core.security import verify_token
|
||||
from app.db import get_db
|
||||
from app.schemas import MediaType
|
||||
@ -19,11 +15,11 @@ router = APIRouter()
|
||||
|
||||
@router.post("/manual", summary="手动转移", response_model=schemas.Response)
|
||||
def manual_transfer(path: str,
|
||||
tmdbid: int,
|
||||
type_name: str,
|
||||
target: str = None,
|
||||
tmdbid: int = None,
|
||||
type_name: str = None,
|
||||
season: int = None,
|
||||
transfer_type: str = settings.TRANSFER_TYPE,
|
||||
transfer_type: str = None,
|
||||
episode_format: str = None,
|
||||
episode_detail: str = None,
|
||||
episode_part: str = None,
|
||||
@ -52,17 +48,8 @@ def manual_transfer(path: str,
|
||||
target = Path(target)
|
||||
if not target.exists():
|
||||
return schemas.Response(success=False, message=f"目标路径不存在")
|
||||
# 识别元数据
|
||||
meta = MetaInfo(in_path.stem)
|
||||
mtype = MediaType(type_name)
|
||||
# 整合数据
|
||||
meta.type = mtype
|
||||
if season:
|
||||
meta.begin_season = season
|
||||
# 识别媒体信息
|
||||
mediainfo: MediaInfo = MediaChain(db).recognize_media(tmdbid=tmdbid, mtype=mtype)
|
||||
if not mediainfo:
|
||||
return schemas.Response(success=False, message=f"媒体信息识别失败,tmdbid: {tmdbid}")
|
||||
# 类型
|
||||
mtype = MediaType(type_name) if type_name else None
|
||||
# 自定义格式
|
||||
epformat = None
|
||||
if episode_offset or episode_part or episode_detail or episode_format:
|
||||
@ -75,10 +62,11 @@ def manual_transfer(path: str,
|
||||
# 开始转移
|
||||
state, errormsg = TransferChain(db).manual_transfer(
|
||||
in_path=in_path,
|
||||
mediainfo=mediainfo,
|
||||
transfer_type=transfer_type,
|
||||
target=target,
|
||||
meta=meta,
|
||||
tmdbid=tmdbid,
|
||||
mtype=mtype,
|
||||
season=season,
|
||||
transfer_type=transfer_type,
|
||||
epformat=epformat,
|
||||
min_filesize=min_filesize
|
||||
)
|
||||
|
Reference in New Issue
Block a user