Fix schema validation for service calls (#25204)

* Fix schema validation for service calls

* No need for get

* No need for get
This commit is contained in:
cgtobi 2019-07-18 00:18:07 +02:00 committed by Paulus Schoutsen
parent 1215398aef
commit 5b24e46a29

View File

@ -28,7 +28,7 @@ SERVICE_CREATE_TASK = 'create_task'
SERVICE_SCHEMA_CREATE_TASK = vol.Schema({ SERVICE_SCHEMA_CREATE_TASK = vol.Schema({
vol.Required(CONF_LIST_NAME): cv.string, vol.Required(CONF_LIST_NAME): cv.string,
vol.Required(CONF_NAME): cv.string, vol.Required(CONF_NAME): cv.string,
vol.Optional(CONF_STARRED): cv.boolean, vol.Optional(CONF_STARRED, default=False): cv.boolean,
}) })
@ -42,7 +42,10 @@ def setup(hass, config):
_LOGGER.error("Invalid credentials") _LOGGER.error("Invalid credentials")
return False return False
hass.services.register(DOMAIN, 'create_task', data.create_task) hass.services.register(
DOMAIN, 'create_task', data.create_task,
schema=SERVICE_SCHEMA_CREATE_TASK
)
return True return True
@ -68,9 +71,9 @@ class Wunderlist:
def create_task(self, call): def create_task(self, call):
"""Create a new task on a list of Wunderlist.""" """Create a new task on a list of Wunderlist."""
list_name = call.data.get(CONF_LIST_NAME) list_name = call.data[CONF_LIST_NAME]
task_title = call.data.get(CONF_NAME) task_title = call.data[CONF_NAME]
starred = call.data.get(CONF_STARRED) starred = call.data[CONF_STARRED]
list_id = self._list_by_name(list_name) list_id = self._list_by_name(list_name)
self._client.create_task(list_id, task_title, starred=starred) self._client.create_task(list_id, task_title, starred=starred)
return True return True