Refactor template optional configuration attributes (#144887)

This commit is contained in:
Petro31 2025-05-14 09:54:40 -04:00 committed by GitHub
parent b0ff4b5841
commit d273a92a19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -76,23 +76,35 @@ TEMPLATE_ENTITY_ICON_SCHEMA = vol.Schema(
} }
) )
TEMPLATE_ENTITY_COMMON_SCHEMA = vol.Schema( TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA = vol.Schema(
{ {
vol.Optional(CONF_ATTRIBUTES): vol.Schema({cv.string: cv.template}), vol.Optional(CONF_ATTRIBUTES): vol.Schema({cv.string: cv.template}),
vol.Optional(CONF_AVAILABILITY): cv.template,
vol.Optional(CONF_VARIABLES): cv.SCRIPT_VARIABLES_SCHEMA,
} }
).extend(TEMPLATE_ENTITY_BASE_SCHEMA.schema) )
TEMPLATE_ENTITY_COMMON_SCHEMA = (
vol.Schema(
{
vol.Optional(CONF_AVAILABILITY): cv.template,
vol.Optional(CONF_VARIABLES): cv.SCRIPT_VARIABLES_SCHEMA,
}
)
.extend(TEMPLATE_ENTITY_BASE_SCHEMA.schema)
.extend(TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA.schema)
)
def make_template_entity_common_schema(default_name: str) -> vol.Schema: def make_template_entity_common_schema(default_name: str) -> vol.Schema:
"""Return a schema with default name.""" """Return a schema with default name."""
return vol.Schema( return (
{ vol.Schema(
vol.Optional(CONF_ATTRIBUTES): vol.Schema({cv.string: cv.template}), {
vol.Optional(CONF_AVAILABILITY): cv.template, vol.Optional(CONF_AVAILABILITY): cv.template,
} }
).extend(make_template_entity_base_schema(default_name).schema) )
.extend(make_template_entity_base_schema(default_name).schema)
.extend(TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA.schema)
)
TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA_LEGACY = vol.Schema( TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA_LEGACY = vol.Schema(