add media category api

This commit is contained in:
jxxghp 2024-05-22 18:02:28 +08:00
parent 4835f6c6c9
commit f1f187fc77
6 changed files with 59 additions and 1 deletions

View File

@ -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:

View File

@ -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:
"""
注册菜单命令

View File

@ -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]]:
"""
搜索媒体信息

View File

@ -14,3 +14,4 @@ from .message import *
from .tmdb import *
from .transfer import *
from .file import *
from .filetransfer import *

View 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

View File

@ -84,6 +84,12 @@ class SystemConfigKey(Enum):
PluginInstallReport = "PluginInstallReport"
# 订阅统计
SubscribeReport = "SubscribeReport"
# 用户自定义CSS
UserCustomCSS = "UserCustomCSS"
# 下载目录定义
DownloadDirectories = "DownloadDirectories"
# 媒体库目录定义
LibraryDirectories = "LibraryDirectories"
# 处理进度Key字典