221 files

This commit is contained in:
Home Assistant Version Control
2026-10-10 15:24:58 +00:00
parent ae12b88c7d
commit bfafb4c28a
221 changed files with 73725 additions and 3277 deletions
@@ -14,6 +14,7 @@ from homeassistant.components.blueprint.importer import fetch_blueprint_from_url
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import config_validation as cv
from ....const import DOMAIN as SPOOK_DOMAIN
from ....services import AbstractSpookAdminService
if TYPE_CHECKING:
@@ -37,17 +38,26 @@ class SpookService(AbstractSpookAdminService):
call.data["url"],
)
except (TimeoutError, aiohttp.ClientError) as err:
msg = "Error fetching blueprint from URL"
raise HomeAssistantError(msg) from err
raise HomeAssistantError(
translation_domain=SPOOK_DOMAIN,
translation_key="blueprint_fetch_failed",
) from err
if imported_blueprint is None:
msg = "This url is not supported"
raise HomeAssistantError(msg)
raise HomeAssistantError(
translation_domain=SPOOK_DOMAIN,
translation_key="blueprint_url_not_supported",
)
domain_blueprints: dict[str, DomainBlueprints] = self.hass.data.get(DOMAIN, {})
if imported_blueprint.blueprint.domain not in domain_blueprints:
msg = f"Unsupported domain: {imported_blueprint.blueprint.domain}"
raise HomeAssistantError(msg)
raise HomeAssistantError(
translation_domain=SPOOK_DOMAIN,
translation_key="blueprint_domain_not_supported",
translation_placeholders={
"domain": imported_blueprint.blueprint.domain,
},
)
imported_blueprint.blueprint.update_metadata(source_url=call.data["url"])
@@ -59,8 +69,12 @@ class SpookService(AbstractSpookAdminService):
imported_blueprint.suggested_filename,
)
except FileAlreadyExists as ex:
msg = "File already exists"
raise HomeAssistantError(msg) from ex
raise HomeAssistantError(
translation_domain=SPOOK_DOMAIN,
translation_key="blueprint_file_exists",
) from ex
except OSError as err:
msg = "Error writing file"
raise HomeAssistantError(msg) from err
raise HomeAssistantError(
translation_domain=SPOOK_DOMAIN,
translation_key="blueprint_write_failed",
) from err