mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Add check for typed ConfigEntry in quality scale validation (#132028)
This commit is contained in:
@@ -1348,16 +1348,19 @@ def validate_iqs_file(config: Config, integration: Integration) -> None:
|
||||
"quality_scale", f"Invalid {name}: {humanize_error(data, err)}"
|
||||
)
|
||||
|
||||
rules_done = set[str]()
|
||||
rules_met = set[str]()
|
||||
for rule_name, rule_value in data.get("rules", {}).items():
|
||||
status = rule_value["status"] if isinstance(rule_value, dict) else rule_value
|
||||
if status not in {"done", "exempt"}:
|
||||
continue
|
||||
rules_met.add(rule_name)
|
||||
if (
|
||||
status == "done"
|
||||
and (validator := VALIDATORS.get(rule_name))
|
||||
and (errors := validator.validate(integration))
|
||||
if status == "done":
|
||||
rules_done.add(rule_name)
|
||||
|
||||
for rule_name in rules_done:
|
||||
if (validator := VALIDATORS.get(rule_name)) and (
|
||||
errors := validator.validate(integration, rules_done=rules_done)
|
||||
):
|
||||
for error in errors:
|
||||
integration.add_error("quality_scale", f"[{rule_name}] {error}")
|
||||
|
||||
Reference in New Issue
Block a user