1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 04:50:05 +00:00

Add support for validating and serializing selectors (#66565)

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
This commit is contained in:
Erik Montnemery
2022-02-18 23:24:08 +01:00
committed by GitHub
parent 2ca6ec0290
commit ec67dcb620
3 changed files with 342 additions and 131 deletions

View File

@@ -939,6 +939,8 @@ def key_dependency(
def custom_serializer(schema: Any) -> Any:
"""Serialize additional types for voluptuous_serialize."""
from . import selector # pylint: disable=import-outside-toplevel
if schema is positive_time_period_dict:
return {"type": "positive_time_period_dict"}
@@ -951,6 +953,9 @@ def custom_serializer(schema: Any) -> Any:
if isinstance(schema, multi_select):
return {"type": "multi_select", "options": schema.options}
if isinstance(schema, selector.Selector):
return schema.serialize()
return voluptuous_serialize.UNSUPPORTED