Remove explicit templating of minio service data (#128905)

This commit is contained in:
Erik Montnemery 2024-10-21 20:20:44 +02:00 committed by GitHub
parent 8edac51401
commit bad2e1f9c4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -73,11 +73,11 @@ CONFIG_SCHEMA = vol.Schema(
) )
BUCKET_KEY_SCHEMA = vol.Schema( BUCKET_KEY_SCHEMA = vol.Schema(
{vol.Required(ATTR_BUCKET): cv.template, vol.Required(ATTR_KEY): cv.template} {vol.Required(ATTR_BUCKET): cv.string, vol.Required(ATTR_KEY): cv.string}
) )
BUCKET_KEY_FILE_SCHEMA = BUCKET_KEY_SCHEMA.extend( BUCKET_KEY_FILE_SCHEMA = BUCKET_KEY_SCHEMA.extend(
{vol.Required(ATTR_FILE_PATH): cv.template} {vol.Required(ATTR_FILE_PATH): cv.string}
) )
@ -125,15 +125,11 @@ def setup(hass: HomeAssistant, config: ConfigType) -> bool:
get_minio_endpoint(host, port), access_key, secret_key, secure get_minio_endpoint(host, port), access_key, secret_key, secure
) )
def _render_service_value(service, key):
value = service.data[key]
return value.async_render(parse_result=False)
def put_file(service: ServiceCall) -> None: def put_file(service: ServiceCall) -> None:
"""Upload file service.""" """Upload file service."""
bucket = _render_service_value(service, ATTR_BUCKET) bucket = service.data[ATTR_BUCKET]
key = _render_service_value(service, ATTR_KEY) key = service.data[ATTR_KEY]
file_path = _render_service_value(service, ATTR_FILE_PATH) file_path = service.data[ATTR_FILE_PATH]
if not hass.config.is_allowed_path(file_path): if not hass.config.is_allowed_path(file_path):
raise ValueError(f"Invalid file_path {file_path}") raise ValueError(f"Invalid file_path {file_path}")
@ -142,9 +138,9 @@ def setup(hass: HomeAssistant, config: ConfigType) -> bool:
def get_file(service: ServiceCall) -> None: def get_file(service: ServiceCall) -> None:
"""Download file service.""" """Download file service."""
bucket = _render_service_value(service, ATTR_BUCKET) bucket = service.data[ATTR_BUCKET]
key = _render_service_value(service, ATTR_KEY) key = service.data[ATTR_KEY]
file_path = _render_service_value(service, ATTR_FILE_PATH) file_path = service.data[ATTR_FILE_PATH]
if not hass.config.is_allowed_path(file_path): if not hass.config.is_allowed_path(file_path):
raise ValueError(f"Invalid file_path {file_path}") raise ValueError(f"Invalid file_path {file_path}")
@ -153,8 +149,8 @@ def setup(hass: HomeAssistant, config: ConfigType) -> bool:
def remove_file(service: ServiceCall) -> None: def remove_file(service: ServiceCall) -> None:
"""Delete file service.""" """Delete file service."""
bucket = _render_service_value(service, ATTR_BUCKET) bucket = service.data[ATTR_BUCKET]
key = _render_service_value(service, ATTR_KEY) key = service.data[ATTR_KEY]
minio_client.remove_object(bucket, key) minio_client.remove_object(bucket, key)