From 8a28d5fbee3de131508bd2f5c9701586ccd587cf Mon Sep 17 00:00:00 2001 From: Tommy Larsson <45052383+larssont@users.noreply.github.com> Date: Sat, 16 Nov 2019 10:23:05 +0100 Subject: [PATCH] Add ombi password authentication option (#28742) * Add password authentication option * Add vol.Exclusive for auth config params --- homeassistant/components/ombi/__init__.py | 13 +++++++++---- homeassistant/components/ombi/manifest.json | 2 +- requirements_all.txt | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/ombi/__init__.py b/homeassistant/components/ombi/__init__.py index 860c7d4dcb4..750772ce8f5 100644 --- a/homeassistant/components/ombi/__init__.py +++ b/homeassistant/components/ombi/__init__.py @@ -7,6 +7,7 @@ import voluptuous as vol from homeassistant.const import ( CONF_API_KEY, CONF_HOST, + CONF_PASSWORD, CONF_PORT, CONF_SSL, CONF_USERNAME, @@ -57,13 +58,15 @@ CONFIG_SCHEMA = vol.Schema( { DOMAIN: vol.Schema( { - vol.Required(CONF_API_KEY): cv.string, vol.Required(CONF_HOST): cv.string, vol.Required(CONF_USERNAME): cv.string, + vol.Exclusive(CONF_API_KEY, "auth"): cv.string, + vol.Exclusive(CONF_PASSWORD, "auth"): cv.string, vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, vol.Optional(CONF_URLBASE, default=DEFAULT_URLBASE): urlbase, vol.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, - } + }, + cv.has_at_least_one_key("auth"), ) }, extra=vol.ALLOW_EXTRA, @@ -77,12 +80,14 @@ def setup(hass, config): ssl=config[DOMAIN][CONF_SSL], host=config[DOMAIN][CONF_HOST], port=config[DOMAIN][CONF_PORT], - api_key=config[DOMAIN][CONF_API_KEY], - username=config[DOMAIN][CONF_USERNAME], urlbase=config[DOMAIN][CONF_URLBASE], + username=config[DOMAIN][CONF_USERNAME], + password=config[DOMAIN].get(CONF_PASSWORD), + api_key=config[DOMAIN].get(CONF_API_KEY), ) try: + ombi.authenticate() ombi.test_connection() except pyombi.OmbiError as err: _LOGGER.warning("Unable to setup Ombi: %s", err) diff --git a/homeassistant/components/ombi/manifest.json b/homeassistant/components/ombi/manifest.json index fb6daf00f66..0407aa5a106 100644 --- a/homeassistant/components/ombi/manifest.json +++ b/homeassistant/components/ombi/manifest.json @@ -4,5 +4,5 @@ "documentation": "https://www.home-assistant.io/integrations/ombi/", "dependencies": [], "codeowners": ["@larssont"], - "requirements": ["pyombi==0.1.5"] + "requirements": ["pyombi==0.1.10"] } diff --git a/requirements_all.txt b/requirements_all.txt index e6dbb050c7c..4e95af20556 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1379,7 +1379,7 @@ pynzbgetapi==0.2.0 pyobihai==1.2.0 # homeassistant.components.ombi -pyombi==0.1.5 +pyombi==0.1.10 # homeassistant.components.openuv pyopenuv==1.0.9 -- GitLab