Prevent deleting blueprints which are in use (#78444)

This commit is contained in:
Erik Montnemery 2022-09-14 16:47:08 +02:00 committed by GitHub
parent 855b0dfdba
commit 2ba0f42acc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 192 additions and 8 deletions

View file

@ -8,8 +8,15 @@ from .const import DOMAIN, LOGGER
DATA_BLUEPRINTS = "script_blueprints"
def _blueprint_in_use(hass: HomeAssistant, blueprint_path: str) -> bool:
"""Return True if any script references the blueprint."""
from . import scripts_with_blueprint # pylint: disable=import-outside-toplevel
return len(scripts_with_blueprint(hass, blueprint_path)) > 0
@singleton(DATA_BLUEPRINTS)
@callback
def async_get_blueprints(hass: HomeAssistant) -> DomainBlueprints:
"""Get script blueprints."""
return DomainBlueprints(hass, DOMAIN, LOGGER)
return DomainBlueprints(hass, DOMAIN, LOGGER, _blueprint_in_use)