Skip to content

Commit 499abe8

Browse files
committed
Update emoji_manager.py
1 parent b267f49 commit 499abe8

1 file changed

Lines changed: 3 additions & 53 deletions

File tree

src/chat/emoji_system/emoji_manager.py

Lines changed: 3 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -168,21 +168,6 @@ def _serialize_emoji_for_hook(emoji: Optional[MaiEmoji]) -> Optional[Dict[str, A
168168
}
169169

170170

171-
def _normalize_string_list(raw_values: Any) -> List[str]:
172-
"""将任意列表值规范化为字符串列表。
173-
174-
Args:
175-
raw_values: 待规范化的原始值。
176-
177-
Returns:
178-
List[str]: 去空白后的字符串列表。
179-
"""
180-
181-
if not isinstance(raw_values, list):
182-
return []
183-
return [str(item).strip() for item in raw_values if str(item).strip()]
184-
185-
186171
def _normalize_emoji_tag_text(raw_values: Any) -> List[str]:
187172
"""将文本或标签列表转为去重的情绪标签列表。"""
188173
if isinstance(raw_values, str):
@@ -416,7 +401,7 @@ async def _build_and_cache_emoji_description(
416401
emoji_hash: str,
417402
emoji_bytes: bytes,
418403
) -> Optional[Tuple[str, List[str]]]:
419-
"""Build and cache emoji description and emotion labels."""
404+
"""构建并缓存表情包描述(返回标签化结果,不再走额外识别流程)。"""
420405
logger.info(f"Start building cached emoji description, hash={emoji_hash}")
421406
new_emoji = await self.ensure_emoji_saved(emoji_bytes, emoji_hash=emoji_hash)
422407

@@ -931,43 +916,8 @@ async def build_emoji_description(self, target_emoji: MaiEmoji) -> Tuple[bool, M
931916
return True, target_emoji
932917

933918
async def build_emoji_emotion(self, target_emoji: MaiEmoji) -> Tuple[bool, MaiEmoji]:
934-
"""
935-
构建表情包情感,使用场景标签
936-
937-
Args:
938-
target_emoji (MaiEmoji): 目标表情包对象
939-
Returns:
940-
return (Tuple[bool, MaiEmoji]): 返回是否成功构建情感标签,及表情包对象
941-
"""
942-
if not target_emoji.description:
943-
logger.error("[构建情感标签] 表情包描述为空,无法构建情感标签")
944-
return False, target_emoji
945-
946-
emotions = _normalize_emoji_tag_text(target_emoji.description)
947-
if not emotions:
948-
logger.warning(f"[构建情感标签] 表情包标签为空,跳过注册: {target_emoji.file_name}")
949-
return False, target_emoji
950-
951-
hook_result = await _get_runtime_manager().invoke_hook(
952-
"emoji.register.after_build_emotion",
953-
emoji=_serialize_emoji_for_hook(target_emoji),
954-
description=target_emoji.description,
955-
emotions=list(emotions),
956-
)
957-
if hook_result.aborted:
958-
logger.info(f"[构建情感标签] 表情包情感标签被 Hook 中止注册: {target_emoji.file_name}")
959-
return False, target_emoji
960-
961-
raw_emotions = hook_result.kwargs.get("emotions")
962-
if raw_emotions is not None:
963-
emotions = _normalize_emoji_tag_text(raw_emotions)
964-
if not emotions:
965-
logger.warning(f"[构建情感标签] Hook 返回空情绪标签,拒绝注册: {target_emoji.file_name}")
966-
return False, target_emoji
967-
968-
logger.info(f"[构建情感标签] 成功为表情包构建情感标签: {','.join(emotions)}")
969-
target_emoji.emotion = emotions
970-
return True, target_emoji
919+
"""兼容保留:表情包情绪标签已在 build_emoji_description 中一次性构建。"""
920+
return await self.build_emoji_description(target_emoji)
971921

972922
def check_emoji_file_integrity(self) -> None:
973923
"""

0 commit comments

Comments
 (0)