"""情感描述配置"""

SENTIMENT_DESCRIPTIONS = {
    "blinkgrin": {
        "image_description": "程式化的动漫/漫画风格的角色，带着眨眼和微笑。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "正面/友好的",
                    "顽皮的/淘气的",
                    "自信的/迷人的",
                    "年轻的/有活力的",
                    "俏皮的/调皮的",
                    "自信的/得意的",
                    "友好的/亲切的",
                    "幽默的/风趣的"
                ],
                "keywords": [
                    "眨眼",
                    "微笑",
                    "友好",
                    "顽皮",
                    "淘气",
                    "自信",
                    "迷人",
                    "年轻",
                    "有活力",
                    "平易近人",
                    "俏皮",
                    "调皮",
                    "自信",
                    "得意",
                    "友好",
                    "亲切",
                    "幽默",
                    "风趣"
                ]
            }
        }
    },
    "blissful": {
        "image_description": "程式化的动漫/漫画风格的角色，闭着眼睛微笑。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "快乐的/愉悦的",
                    "放松的/平静的",
                    "温柔的/可爱的",
                    "幸福的/满足的"
                ],
                "keywords": [
                    "闭眼",
                    "微笑",
                    "快乐",
                    "愉悦",
                    "放松",
                    "平静",
                    "温柔",
                    "可爱",
                    "幸福",
                    "满足"
                ]
            }
        }
    },
    "embarrassed": {
        "image_description": "程式化的动漫/漫画风格的角色，表情略带忧虑或思考。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "沉思的/思考的",
                    "认真的/专注的",
                    "略带忧虑的/担心的",
                    "平静的/内敛的"
                ],
                "keywords": [
                    "睁眼",
                    "直视",
                    "抿嘴",
                    "沉思",
                    "思考",
                    "认真",
                    "专注",
                    "忧虑",
                    "担心",
                    "平静",
                    "内敛"
                ]
            }
        }
    },
    "happy": {
        "image_description": "程式化的动漫/漫画风格的角色，带着开放的微笑。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "开朗的/乐观的",
                    "友好的/亲切的",
                    "积极的/阳光的",
                    "外向的/健谈的"
                ],
                "keywords": [
                    "睁眼",
                    "微笑",
                    "张嘴",
                    "开朗",
                    "乐观",
                    "友好",
                    "亲切",
                    "积极",
                    "阳光",
                    "外向",
                    "健谈"
                ]
            }
        }
    },
    "laugh": {
        "image_description": "程式化的动漫/漫画风格的角色，开怀大笑。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "高兴的/快乐的",
                    "兴奋的/激动的",
                    "开心的/愉悦的",
                    "充满活力的/精神焕发的"
                ],
                "keywords": [
                    "闭眼",
                    "大笑",
                    "张大嘴",
                    "高兴",
                    "快乐",
                    "兴奋",
                    "激动",
                    "开心",
                    "愉悦",
                    "活力",
                    "精神焕发"
                ]
            }
        }
    },
    "neutral": {
        "image_description": "程式化的动漫/漫画风格的角色，带着略微自信的微笑。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "自信的/自若的",
                    "平静的/沉稳的",
                    "友好的/和善的",
                    "略带骄傲的/略微得意的"
                ],
                "keywords": [
                    "睁眼",
                    "微笑",
                    "抿嘴",
                    "自信",
                    "自若",
                    "平静",
                    "沉稳",
                    "友好",
                    "和善",
                    "骄傲",
                    "得意"
                ]
            }
        }
    },
    "playful": {
        "image_description": "程式化的动漫/漫画风格的角色，带着眨眼和微笑。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "俏皮的/顽皮的",
                    "友好的/亲切的",
                    "自信的/风趣的",
                    "轻松的/愉快的"
                ],
                "keywords": [
                    "眨眼",
                    "微笑",
                    "俏皮",
                    "顽皮",
                    "友好",
                    "亲切",
                    "自信",
                    "风趣",
                    "轻松",
                    "愉快"
                ]
            }
        }
    },
    "questioning": {
        "image_description": "程式化的动漫/漫画风格的角色，表情略带怀疑或不确定。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "怀疑的/不确定的",
                    "疑惑的/困惑的",
                    "审视的/观察的",
                    "若有所思的/略带沉思的"
                ],
                "keywords": [
                    "睁眼",
                    "直视",
                    "挑眉",
                    "抿嘴",
                    "怀疑",
                    "不确定",
                    "疑惑",
                    "困惑",
                    "审视",
                    "观察",
                    "若有所思",
                    "沉思"
                ]
            }
        }
    },
    "shy": {
        "image_description": "程式化的动漫/漫画风格的角色，闭着眼睛，表情平静。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "平静的/宁静的",
                    "放松的/舒缓的",
                    "平和的/安详的",
                    "沉思的/冥想的"
                ],
                "keywords": [
                    "闭眼",
                    "平静",
                    "宁静",
                    "放松",
                    "舒缓",
                    "平和",
                    "安详",
                    "沉思",
                    "冥想"
                ]
            }
        }
    },
    "smug": {
        "image_description": "程式化的动漫/漫画风格的角色，闭着眼睛，张着嘴，可能在叹气、惊讶或唱歌。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "疲惫的/疲倦的",
                    "惊讶的/吃惊的",
                    "放松的/释然的",
                    "感叹的/叹息的"
                ],
                "keywords": [
                    "闭眼",
                    "张嘴",
                    "疲惫",
                    "疲倦",
                    "惊讶",
                    "吃惊",
                    "放松",
                    "释然",
                    "感叹",
                    "叹息"
                ]
            }
        }
    },
    "surprised": {
        "image_description": "程式化的动漫/漫画风格的角色，张着嘴，表情惊讶或略带恐惧。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "惊讶的/吃惊的",
                    "震惊的/愕然的",
                    "害怕的/恐惧的",
                    "担心的/忧虑的"
                ],
                "keywords": [
                    "睁眼",
                    "张嘴",
                    "惊讶",
                    "吃惊",
                    "震惊",
                    "愕然",
                    "害怕",
                    "恐惧",
                    "担心",
                    "忧虑"
                ]
            }
        }
    },
    "worried": {
        "image_description": "程式化的动漫/漫画风格的角色，张着嘴，表情惊讶或略带担忧。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "惊讶的/吃惊的",
                    "担忧的/担心的",
                    "不安的/焦虑的",
                    "不知所措的/茫然的"
                ],
                "keywords": [
                    "睁眼",
                    "张嘴",
                    "惊讶",
                    "吃惊",
                    "担忧",
                    "担心",
                    "不安",
                    "焦虑",
                    "不知所措",
                    "茫然"
                ]
            }
        }
    },
    "crying": {
        "image_description": "程式化的动漫/漫画风格的角色，闭着眼睛流泪，嘴角微微下垂，表情悲伤。",
        "sentiments": {
            "chinese": {
                "overall": [
                    "悲伤的/伤心的",
                    "难过的/痛苦的",
                    "委屈的/难受的",
                    "哀伤的/忧郁的"
                ],
                "keywords": [
                    "闭眼",
                    "流泪",
                    "哭泣",
                    "悲伤",
                    "伤心",
                    "难过",
                    "痛苦",
                    "委屈",
                    "难受",
                    "哀伤",
                    "忧郁",
                    "泪水"
                ]
            }
        }
    }
}

def get_sentiment_description(emotion: str, language: str = "chinese") -> dict:
    """获取指定情感的描述
    
    Args:
        emotion: 情感类型
        language: 语言，默认为中文
        
    Returns:
        包含情感描述的字典
    """
    if emotion not in SENTIMENT_DESCRIPTIONS:
        raise ValueError(f"未知的情感类型: {emotion}")
        
    description = SENTIMENT_DESCRIPTIONS[emotion]
    if language not in description["sentiments"]:
        raise ValueError(f"不支持的语言: {language}")
        
    return description["sentiments"][language]

def get_all_emotions() -> list:
    """获取所有支持的情感类型
    
    Returns:
        情感类型列表
    """
    return list(SENTIMENT_DESCRIPTIONS.keys())

def get_image_description(emotion: str) -> str:
    """获取指定情感的图像描述
    
    Args:
        emotion: 情感类型
        
    Returns:
        图像描述文本
    """
    if emotion not in SENTIMENT_DESCRIPTIONS:
        raise ValueError(f"未知的情感类型: {emotion}")
        
    return SENTIMENT_DESCRIPTIONS[emotion]["image_description"] 