Coerce to tuple before asserting the sequence (#58672)

This commit is contained in:
Erik Montnemery 2021-10-30 16:50:24 +02:00 committed by GitHub
parent 18ebdbed3e
commit 56f746fd39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 7 deletions

View File

@ -165,7 +165,7 @@ CUSTOM_EFFECT_DICT: Final = {
vol.Required(CONF_COLORS): vol.All( vol.Required(CONF_COLORS): vol.All(
cv.ensure_list, cv.ensure_list,
vol.Length(min=1, max=16), vol.Length(min=1, max=16),
[vol.All(vol.ExactSequence((cv.byte, cv.byte, cv.byte)), vol.Coerce(tuple))], [vol.All(vol.Coerce(tuple), vol.ExactSequence((cv.byte, cv.byte, cv.byte)))],
), ),
vol.Optional(CONF_SPEED_PCT, default=50): vol.All( vol.Optional(CONF_SPEED_PCT, default=50): vol.All(
vol.Range(min=0, max=100), vol.Coerce(int) vol.Range(min=0, max=100), vol.Coerce(int)

View File

@ -119,19 +119,19 @@ LIFX_EFFECT_PULSE_SCHEMA = cv.make_entity_service_schema(
ATTR_BRIGHTNESS_PCT: VALID_BRIGHTNESS_PCT, ATTR_BRIGHTNESS_PCT: VALID_BRIGHTNESS_PCT,
vol.Exclusive(ATTR_COLOR_NAME, COLOR_GROUP): cv.string, vol.Exclusive(ATTR_COLOR_NAME, COLOR_GROUP): cv.string,
vol.Exclusive(ATTR_RGB_COLOR, COLOR_GROUP): vol.All( vol.Exclusive(ATTR_RGB_COLOR, COLOR_GROUP): vol.All(
vol.ExactSequence((cv.byte, cv.byte, cv.byte)), vol.Coerce(tuple) vol.Coerce(tuple), vol.ExactSequence((cv.byte, cv.byte, cv.byte))
), ),
vol.Exclusive(ATTR_XY_COLOR, COLOR_GROUP): vol.All( vol.Exclusive(ATTR_XY_COLOR, COLOR_GROUP): vol.All(
vol.ExactSequence((cv.small_float, cv.small_float)), vol.Coerce(tuple) vol.Coerce(tuple), vol.ExactSequence((cv.small_float, cv.small_float))
), ),
vol.Exclusive(ATTR_HS_COLOR, COLOR_GROUP): vol.All( vol.Exclusive(ATTR_HS_COLOR, COLOR_GROUP): vol.All(
vol.Coerce(tuple),
vol.ExactSequence( vol.ExactSequence(
( (
vol.All(vol.Coerce(float), vol.Range(min=0, max=360)), vol.All(vol.Coerce(float), vol.Range(min=0, max=360)),
vol.All(vol.Coerce(float), vol.Range(min=0, max=100)), vol.All(vol.Coerce(float), vol.Range(min=0, max=100)),
) )
), ),
vol.Coerce(tuple),
), ),
vol.Exclusive(ATTR_COLOR_TEMP, COLOR_GROUP): vol.All( vol.Exclusive(ATTR_COLOR_TEMP, COLOR_GROUP): vol.All(
vol.Coerce(int), vol.Range(min=1) vol.Coerce(int), vol.Range(min=1)

View File

@ -62,7 +62,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
CONF_NEIGHBORS, DEFAULT_NEIGHBORS CONF_NEIGHBORS, DEFAULT_NEIGHBORS
): cv.positive_int, ): cv.positive_int,
vol.Optional(CONF_MIN_SIZE, DEFAULT_MIN_SIZE): vol.Schema( vol.Optional(CONF_MIN_SIZE, DEFAULT_MIN_SIZE): vol.Schema(
vol.All(vol.ExactSequence([int, int]), vol.Coerce(tuple)) vol.All(vol.Coerce(tuple), vol.ExactSequence([int, int]))
), ),
} }
), ),

View File

@ -180,20 +180,20 @@ SERVICE_SCHEMA_START_FLOW = YEELIGHT_FLOW_TRANSITION_SCHEMA
SERVICE_SCHEMA_SET_COLOR_SCENE = { SERVICE_SCHEMA_SET_COLOR_SCENE = {
vol.Required(ATTR_RGB_COLOR): vol.All( vol.Required(ATTR_RGB_COLOR): vol.All(
vol.ExactSequence((cv.byte, cv.byte, cv.byte)), vol.Coerce(tuple) vol.Coerce(tuple), vol.ExactSequence((cv.byte, cv.byte, cv.byte))
), ),
vol.Required(ATTR_BRIGHTNESS): VALID_BRIGHTNESS, vol.Required(ATTR_BRIGHTNESS): VALID_BRIGHTNESS,
} }
SERVICE_SCHEMA_SET_HSV_SCENE = { SERVICE_SCHEMA_SET_HSV_SCENE = {
vol.Required(ATTR_HS_COLOR): vol.All( vol.Required(ATTR_HS_COLOR): vol.All(
vol.Coerce(tuple),
vol.ExactSequence( vol.ExactSequence(
( (
vol.All(vol.Coerce(float), vol.Range(min=0, max=359)), vol.All(vol.Coerce(float), vol.Range(min=0, max=359)),
vol.All(vol.Coerce(float), vol.Range(min=0, max=100)), vol.All(vol.Coerce(float), vol.Range(min=0, max=100)),
) )
), ),
vol.Coerce(tuple),
), ),
vol.Required(ATTR_BRIGHTNESS): VALID_BRIGHTNESS, vol.Required(ATTR_BRIGHTNESS): VALID_BRIGHTNESS,
} }