1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-01 19:02:18 +01:00

[select] Tidy schema generation (#8775)

This commit is contained in:
Jesse Hills
2025-05-13 17:07:57 +12:00
committed by GitHub
parent 8b65d1673a
commit 0cf9b05afd

View File

@@ -66,29 +66,25 @@ _SELECT_SCHEMA = (
def select_schema( def select_schema(
class_: MockObjClass = cv.UNDEFINED, class_: MockObjClass,
*, *,
entity_category: str = cv.UNDEFINED, entity_category: str = cv.UNDEFINED,
icon: str = cv.UNDEFINED, icon: str = cv.UNDEFINED,
): ):
schema = cv.Schema({}) schema = {cv.GenerateID(): cv.declare_id(class_)}
if class_ is not cv.UNDEFINED:
schema = schema.extend({cv.GenerateID(): cv.declare_id(class_)}) for key, default, validator in [
if entity_category is not cv.UNDEFINED: (CONF_ENTITY_CATEGORY, entity_category, cv.entity_category),
schema = schema.extend( (CONF_ICON, icon, cv.icon),
{ ]:
cv.Optional( if default is not cv.UNDEFINED:
CONF_ENTITY_CATEGORY, default=entity_category schema[cv.Optional(key, default=default)] = validator
): cv.entity_category
}
)
if icon is not cv.UNDEFINED:
schema = schema.extend({cv.Optional(CONF_ICON, default=icon): cv.icon})
return _SELECT_SCHEMA.extend(schema) return _SELECT_SCHEMA.extend(schema)
# Remove before 2025.11.0 # Remove before 2025.11.0
SELECT_SCHEMA = select_schema() SELECT_SCHEMA = select_schema(Select)
SELECT_SCHEMA.add_extra(cv.deprecated_schema_constant("select")) SELECT_SCHEMA.add_extra(cv.deprecated_schema_constant("select"))