"""Support for launching a web browser on the host machine."""
import voluptuous as vol

ATTR_URL = "url"
ATTR_URL_DEFAULT = "https://www.google.com"

DOMAIN = "browser"

SERVICE_BROWSE_URL = "browse_url"

SERVICE_BROWSE_URL_SCHEMA = vol.Schema(
    {
        # pylint: disable=no-value-for-parameter
        vol.Required(ATTR_URL, default=ATTR_URL_DEFAULT): vol.Url()
    }
)


def setup(hass, config):
    """Listen for browse_url events."""
    import webbrowser

    hass.services.register(
        DOMAIN,
        SERVICE_BROWSE_URL,
        lambda service: webbrowser.open(service.data[ATTR_URL]),
        schema=SERVICE_BROWSE_URL_SCHEMA,
    )

    return True
