# -*- coding: utf-8 -*-
"""
名称生成工具模块
"""

from pypinyin import lazy_pinyin, Style
import logging

logger = logging.getLogger(__name__)


def generate_tool_name(business_name: str, tool_id: str) -> str:
    """
    根据业务名称和ID生成工具名称
    格式: tool_拼音_id
    
    Args:
        business_name: 业务名称（中文）
        tool_id: 工具ID
        
    Returns:
        str: 格式化的工具名称
    """
    try:
        # 将中文转换为拼音（无音调，小写）
        pinyin_list = lazy_pinyin(business_name, style=Style.NORMAL)
        # 拼接拼音
        pinyin_str = ''.join(pinyin_list)
        
        # 将 ID 中的 '-' 替换为 '_'
        formatted_id = tool_id.replace('-', '_')
        
        # 组合成最终的工具名称
        tool_name = f"workflow_{pinyin_str}_{formatted_id}"
        
        return tool_name
    except Exception as e:
        logger.error(f"生成工具名称失败: {business_name}, {tool_id}, 错误: {e}", exc_info=True)
        # 降级处理：如果拼音转换失败，使用 ID
        return f"workflow_{tool_id.replace('-', '_')}"
