test01.py 752 B

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