refactor(media): 引入配置化刮削策略

This commit is contained in:
Attente
2026-03-19 21:25:57 +08:00
parent a90a3b2445
commit 48b59df11b
4 changed files with 1334 additions and 420 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -398,3 +398,41 @@ class OtherModulesType(Enum):
PostgreSQL = "PostgreSQL"
# Redis
Redis = "Redis"
class NameValueEnum(Enum):
"""支持通过 name 或 value 实例化的枚举基类"""
@classmethod
def _missing_(cls, value):
if isinstance(value, str):
for member in cls:
if member.name.lower() == value.lower() or member.value == value:
return member
return None
# 刮削策略
class ScrapingPolicy(NameValueEnum):
MISSINGONLY = "仅缺失"
SKIP = "跳过"
OVERWRITE = "覆盖"
# 刮削目标类型
class ScrapingTarget(NameValueEnum):
MOVIE = "电影"
TV = "电视剧"
SEASON = ""
EPISODE = ""
# 刮削元数据类型
class ScrapingMetadata(NameValueEnum):
NFO = "NFO"
POSTER = "海报"
BACKDROP = "背景图"
LOGO = "Logo"
BANNER = "横幅图"
THUMB = "缩略图"
DISC = "光盘图"