"""Utils for sql.""" from __future__ import annotations import logging from homeassistant.components.recorder import get_instance from homeassistant.core import HomeAssistant from .const import DB_URL_RE _LOGGER = logging.getLogger(__name__) def redact_credentials(data: str | None) -> str: """Redact credentials from string data.""" if not data: return "none" return DB_URL_RE.sub("//****:****@", data) def resolve_db_url(hass: HomeAssistant, db_url: str | None) -> str: """Return the db_url provided if not empty, otherwise return the recorder db_url.""" _LOGGER.debug("db_url: %s", redact_credentials(db_url)) if db_url and not db_url.isspace(): return db_url return get_instance(hass).db_url