"""Add an iframe panel to Home Assistant."""
import voluptuous as vol

import homeassistant.helpers.config_validation as cv
from homeassistant.components.frontend import register_built_in_panel

DOMAIN = 'panel_iframe'
DEPENDENCIES = ['frontend']

CONF_TITLE = 'title'
CONF_ICON = 'icon'
CONF_URL = 'url'

CONFIG_SCHEMA = vol.Schema({
    DOMAIN: vol.Schema({
        cv.slug: {
            vol.Optional(CONF_TITLE): cv.string,
            vol.Optional(CONF_ICON): cv.icon,
            # pylint: disable=no-value-for-parameter
            vol.Required(CONF_URL): vol.Url(),
        }})}, extra=vol.ALLOW_EXTRA)


def setup(hass, config):
    """Setup iframe frontend panels."""
    for url_path, info in config[DOMAIN].items():
        register_built_in_panel(
            hass, 'iframe', info.get(CONF_TITLE), info.get(CONF_ICON),
            url_path, {'url': info[CONF_URL]})

    return True
