Use voluptuous for twitter (#3126)

This commit is contained in:
Pascal Vizeli 2016-09-02 06:27:38 +02:00 committed by Teagan Glenn
parent 6b6d34ba51
commit afdd734b44

View File

@ -6,9 +6,12 @@ https://home-assistant.io/components/notify.twitter/
"""
import logging
from homeassistant.components.notify import DOMAIN, BaseNotificationService
import voluptuous as vol
import homeassistant.helpers.config_validation as cv
from homeassistant.components.notify import (PLATFORM_SCHEMA,
BaseNotificationService)
from homeassistant.const import CONF_ACCESS_TOKEN
from homeassistant.helpers import validate_config
_LOGGER = logging.getLogger(__name__)
REQUIREMENTS = ['TwitterAPI==2.4.2']
@ -17,16 +20,16 @@ CONF_CONSUMER_KEY = "consumer_key"
CONF_CONSUMER_SECRET = "consumer_secret"
CONF_ACCESS_TOKEN_SECRET = "access_token_secret"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_CONSUMER_KEY): cv.string,
vol.Required(CONF_CONSUMER_SECRET): cv.string,
vol.Required(CONF_ACCESS_TOKEN): cv.string,
vol.Required(CONF_ACCESS_TOKEN_SECRET): cv.string,
})
def get_service(hass, config):
"""Get the Twitter notification service."""
if not validate_config({DOMAIN: config},
{DOMAIN: [CONF_CONSUMER_KEY, CONF_CONSUMER_SECRET,
CONF_ACCESS_TOKEN,
CONF_ACCESS_TOKEN_SECRET]},
_LOGGER):
return None
return TwitterNotificationService(config[CONF_CONSUMER_KEY],
config[CONF_CONSUMER_SECRET],
config[CONF_ACCESS_TOKEN],