mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-03-20 03:57:30 +08:00
feat: 工具输入输出统一为movie或tv
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from enum import Enum
|
||||
from typing import Optional
|
||||
|
||||
|
||||
# 媒体类型
|
||||
@@ -8,6 +9,26 @@ class MediaType(Enum):
|
||||
COLLECTION = '系列'
|
||||
UNKNOWN = '未知'
|
||||
|
||||
@staticmethod
|
||||
def from_agent(key: str) -> Optional["MediaType"]:
|
||||
"""'movie' -> MediaType.MOVIE, 'tv' -> MediaType.TV, 否则 None"""
|
||||
_map = {"movie": MediaType.MOVIE, "tv": MediaType.TV}
|
||||
return _map.get(key.strip().lower() if key else "")
|
||||
|
||||
def to_agent(self) -> str:
|
||||
"""MediaType.MOVIE -> 'movie', MediaType.TV -> 'tv', 其他返回 .value"""
|
||||
return {MediaType.MOVIE: "movie", MediaType.TV: "tv"}.get(self, self.value)
|
||||
|
||||
|
||||
def media_type_to_agent(value) -> Optional[str]:
|
||||
"""将 MediaType 枚举或中文字符串统一转为 'movie'/'tv'"""
|
||||
if isinstance(value, MediaType):
|
||||
return value.to_agent()
|
||||
if isinstance(value, str):
|
||||
mt = MediaType.from_agent(value)
|
||||
return mt.to_agent() if mt else value
|
||||
return None
|
||||
|
||||
|
||||
# 排序类型枚举
|
||||
class SortType(Enum):
|
||||
|
||||
Reference in New Issue
Block a user