feat: initial commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Genre alias normalization and profile key mapping.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
|
||||
GENRE_INPUT_ALIASES: dict[str, str] = {
|
||||
"修仙/玄幻": "修仙",
|
||||
"玄幻修仙": "修仙",
|
||||
"玄幻": "修仙",
|
||||
"修真": "修仙",
|
||||
"都市修真": "都市异能",
|
||||
"都市高武": "高武",
|
||||
"都市奇闻": "都市脑洞",
|
||||
"古言脑洞": "古言",
|
||||
"游戏电竞": "电竞",
|
||||
"电竞文": "电竞",
|
||||
"直播": "直播文",
|
||||
"直播带货": "直播文",
|
||||
"主播": "直播文",
|
||||
"克系": "克苏鲁",
|
||||
"克系悬疑": "克苏鲁",
|
||||
}
|
||||
|
||||
|
||||
GENRE_PROFILE_KEY_ALIASES: dict[str, str] = {
|
||||
"修仙": "xianxia",
|
||||
"修仙/玄幻": "xianxia",
|
||||
"玄幻": "xianxia",
|
||||
"爽文/系统流": "shuangwen",
|
||||
"高武": "xianxia",
|
||||
"西幻": "xianxia",
|
||||
"都市异能": "urban-power",
|
||||
"都市脑洞": "urban-power",
|
||||
"都市日常": "urban-power",
|
||||
"狗血言情": "romance",
|
||||
"古言": "romance",
|
||||
"青春甜宠": "romance",
|
||||
"替身文": "substitute",
|
||||
"规则怪谈": "rules-mystery",
|
||||
"悬疑脑洞": "mystery",
|
||||
"悬疑灵异": "mystery",
|
||||
"知乎短篇": "zhihu-short",
|
||||
"电竞": "esports",
|
||||
"直播文": "livestream",
|
||||
"克苏鲁": "cosmic-horror",
|
||||
}
|
||||
|
||||
|
||||
def normalize_genre_token(token: str) -> str:
|
||||
value = str(token or "").strip()
|
||||
if not value:
|
||||
return ""
|
||||
return GENRE_INPUT_ALIASES.get(value, value)
|
||||
|
||||
|
||||
def to_profile_key(genre: str) -> str:
|
||||
value = str(genre or "").strip()
|
||||
if not value:
|
||||
return ""
|
||||
normalized = normalize_genre_token(value)
|
||||
return GENRE_PROFILE_KEY_ALIASES.get(normalized, normalized.lower())
|
||||
|
||||
Reference in New Issue
Block a user