add media category api
This commit is contained in:
parent
4835f6c6c9
commit
f1f187fc77
@ -119,6 +119,14 @@ def scrape(path: str,
|
||||
return schemas.Response(success=True, message="刮削完成")
|
||||
|
||||
|
||||
@router.get("/category", summary="查询自动分类配置", response_model=dict)
|
||||
def category(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||
"""
|
||||
查询自动分类配置
|
||||
"""
|
||||
return MediaChain().media_category() or {}
|
||||
|
||||
|
||||
@router.get("/{mediaid}", summary="查询媒体详情", response_model=schemas.MediaInfo)
|
||||
def media_info(mediaid: str, type_name: str,
|
||||
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||
|
@ -506,6 +506,13 @@ class ChainBase(metaclass=ABCMeta):
|
||||
self.run_module("scrape_metadata", path=path, mediainfo=mediainfo, metainfo=metainfo,
|
||||
transfer_type=transfer_type, force_nfo=force_nfo, force_img=force_img)
|
||||
|
||||
def media_category(self) -> Optional[Dict[str, list]]:
|
||||
"""
|
||||
获取媒体分类
|
||||
:return: 获取二级分类配置字典项,需包括电影、电视剧、动漫
|
||||
"""
|
||||
return self.run_module("media_category")
|
||||
|
||||
def register_commands(self, commands: Dict[str, dict]) -> None:
|
||||
"""
|
||||
注册菜单命令
|
||||
|
@ -1,5 +1,5 @@
|
||||
from pathlib import Path
|
||||
from typing import Optional, List, Tuple, Union
|
||||
from typing import Optional, List, Tuple, Union, Dict
|
||||
|
||||
import cn2an
|
||||
|
||||
@ -225,6 +225,17 @@ class TheMovieDbModule(_ModuleBase):
|
||||
"""
|
||||
return self.tmdb.get_info(mtype=mtype, tmdbid=tmdbid)
|
||||
|
||||
def media_category(self) -> Optional[Dict[str, list]]:
|
||||
"""
|
||||
获取媒体分类
|
||||
:return: 获取二级分类配置字典项,需包括电影、电视剧、动漫
|
||||
"""
|
||||
return {
|
||||
"电影": list(self.category.movie_categorys),
|
||||
"电视剧": list(self.category.tv_categorys),
|
||||
"动漫": list(self.category.anime_categorys)
|
||||
}
|
||||
|
||||
def search_medias(self, meta: MetaBase) -> Optional[List[MediaInfo]]:
|
||||
"""
|
||||
搜索媒体信息
|
||||
|
@ -14,3 +14,4 @@ from .message import *
|
||||
from .tmdb import *
|
||||
from .transfer import *
|
||||
from .file import *
|
||||
from .filetransfer import *
|
||||
|
25
app/schemas/filetransfer.py
Normal file
25
app/schemas/filetransfer.py
Normal file
@ -0,0 +1,25 @@
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class MediaDirectory(BaseModel):
|
||||
"""
|
||||
下载目录/媒体库目录
|
||||
"""
|
||||
# 类型 download/library
|
||||
type: Optional[str] = None
|
||||
# 别名
|
||||
name: Optional[str] = None
|
||||
# 路径
|
||||
path: Optional[str] = None
|
||||
# 媒体类型 电影/电视剧
|
||||
media_type: Optional[str] = None
|
||||
# 媒体类别 动画电影/国产剧
|
||||
category: Optional[str] = None
|
||||
# 刮削媒体信息
|
||||
scrape: Optional[bool] = True
|
||||
# 自动二级分类,未指定类别时自动分类
|
||||
auto_category: Optional[bool] = False
|
||||
# 优先级
|
||||
priority: Optional[int] = 0
|
@ -84,6 +84,12 @@ class SystemConfigKey(Enum):
|
||||
PluginInstallReport = "PluginInstallReport"
|
||||
# 订阅统计
|
||||
SubscribeReport = "SubscribeReport"
|
||||
# 用户自定义CSS
|
||||
UserCustomCSS = "UserCustomCSS"
|
||||
# 下载目录定义
|
||||
DownloadDirectories = "DownloadDirectories"
|
||||
# 媒体库目录定义
|
||||
LibraryDirectories = "LibraryDirectories"
|
||||
|
||||
|
||||
# 处理进度Key字典
|
||||
|
Loading…
x
Reference in New Issue
Block a user