| 12345678910111213141516171819 |
- def _get_severity_coefficient(self, severity_type_key: str, level_name: str) -> float:
- """
- 从配置中获取严重程度对应的系数
- :param severity_type_key: 对应 severity_level 下的键,如 "wear", "stain"
- :param level_name: 具体的等级名,如 "一般", "严重"
- :return: 系数 value
- """
- severity_config = self.config.get("severity_level", {})
- rules = severity_config.get(severity_type_key, [])
- # 默认系数为 1.0 (如果找不到配置)
- default_val = 1.0
- # 寻找匹配的 name
- for rule in rules:
- if rule.get("name") == level_name:
- return float(rule.get("value", 1.0))
- # 如果传入了"一般"但配置里没"一般",则返回 1.0
- return default_val
|