From c16adf67739197ed0c08e73d2448b814328626f8 Mon Sep 17 00:00:00 2001 From: Jason Lawrence Date: Thu, 5 Sep 2019 13:06:36 -0500 Subject: [PATCH 1/5] Add server config options to media_player platform --- homeassistant/components/plex/media_player.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/homeassistant/components/plex/media_player.py b/homeassistant/components/plex/media_player.py index 5b427e6a353fbc..9a6dbeb0c80f73 100644 --- a/homeassistant/components/plex/media_player.py +++ b/homeassistant/components/plex/media_player.py @@ -20,6 +20,9 @@ SUPPORT_VOLUME_SET, ) from homeassistant.const import ( + CONF_HOST, + CONF_PORT, + CONF_SSL, CONF_URL, CONF_TOKEN, CONF_VERIFY_SSL, @@ -39,6 +42,9 @@ CONF_SHOW_ALL_CONTROLS, CONF_REMOVE_UNAVAILABLE_CLIENTS, CONF_CLIENT_REMOVE_INTERVAL, + DEFAULT_PORT, + DEFAULT_SSL, + DEFAULT_VERIFY_SSL, DOMAIN as PLEX_DOMAIN, NAME_FORMAT, PLEX_CONFIG_FILE, @@ -52,6 +58,11 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( { + vol.Optional(CONF_HOST): cv.string, + vol.Optional(CONF_TOKEN): cv.string, + vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + vol.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, + vol.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean, vol.Optional(CONF_USE_EPISODE_ART, default=False): cv.boolean, vol.Optional(CONF_SHOW_ALL_CONTROLS, default=False): cv.boolean, vol.Optional(CONF_REMOVE_UNAVAILABLE_CLIENTS, default=True): cv.boolean, @@ -98,6 +109,13 @@ def setup_platform(hass, config, add_entities_callback, discovery_info=None): token = None has_ssl = False verify_ssl = True + elif config: + host = config.get(CONF_HOST) + port = config.get(CONF_PORT) + host = f"{host}:{port}" + token = config.get(CONF_TOKEN) + has_ssl = config.get(CONF_SSL) + verify_ssl = config.get(CONF_VERIFY_SSL) else: return From a9a19ee9d4083e1c035f4b4ab470adff78fb625d Mon Sep 17 00:00:00 2001 From: Jason Lawrence Date: Thu, 5 Sep 2019 13:22:47 -0500 Subject: [PATCH 2/5] Unnecessary else --- homeassistant/components/plex/media_player.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/homeassistant/components/plex/media_player.py b/homeassistant/components/plex/media_player.py index 9a6dbeb0c80f73..52b4de4292de8a 100644 --- a/homeassistant/components/plex/media_player.py +++ b/homeassistant/components/plex/media_player.py @@ -109,15 +109,13 @@ def setup_platform(hass, config, add_entities_callback, discovery_info=None): token = None has_ssl = False verify_ssl = True - elif config: + else: host = config.get(CONF_HOST) port = config.get(CONF_PORT) host = f"{host}:{port}" token = config.get(CONF_TOKEN) has_ssl = config.get(CONF_SSL) verify_ssl = config.get(CONF_VERIFY_SSL) - else: - return setup_plexserver( host, token, has_ssl, verify_ssl, hass, config, add_entities_callback From ea8e88bfd80c4bc57986491cc1d7d64f05d2e459 Mon Sep 17 00:00:00 2001 From: Jason Lawrence Date: Thu, 5 Sep 2019 13:23:52 -0500 Subject: [PATCH 3/5] Default host --- homeassistant/components/plex/media_player.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/plex/media_player.py b/homeassistant/components/plex/media_player.py index 52b4de4292de8a..56a23f659af420 100644 --- a/homeassistant/components/plex/media_player.py +++ b/homeassistant/components/plex/media_player.py @@ -51,6 +51,7 @@ ) from .server import PlexServer +DEFAULT_HOST = "localhost" SERVER_SETUP = "server_setup" _CONFIGURING = {} @@ -58,7 +59,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( { - vol.Optional(CONF_HOST): cv.string, + vol.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, vol.Optional(CONF_TOKEN): cv.string, vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, vol.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, From 5cb3bb8470a19cd075314da85524939d95669811 Mon Sep 17 00:00:00 2001 From: Jason Lawrence Date: Thu, 5 Sep 2019 13:25:52 -0500 Subject: [PATCH 4/5] No need to try for default values --- homeassistant/components/plex/media_player.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/plex/media_player.py b/homeassistant/components/plex/media_player.py index 56a23f659af420..0279faa7c1bf38 100644 --- a/homeassistant/components/plex/media_player.py +++ b/homeassistant/components/plex/media_player.py @@ -111,12 +111,12 @@ def setup_platform(hass, config, add_entities_callback, discovery_info=None): has_ssl = False verify_ssl = True else: - host = config.get(CONF_HOST) - port = config.get(CONF_PORT) + host = config[CONF_HOST] + port = config[CONF_PORT] host = f"{host}:{port}" token = config.get(CONF_TOKEN) - has_ssl = config.get(CONF_SSL) - verify_ssl = config.get(CONF_VERIFY_SSL) + has_ssl = config[CONF_SSL] + verify_ssl = config[CONF_VERIFY_SSL] setup_plexserver( host, token, has_ssl, verify_ssl, hass, config, add_entities_callback From e710f5f1e6737451134d37e839bfb415fec05dee Mon Sep 17 00:00:00 2001 From: Jason Lawrence Date: Thu, 5 Sep 2019 13:50:10 -0500 Subject: [PATCH 5/5] Use const --- homeassistant/components/plex/const.py | 1 + homeassistant/components/plex/media_player.py | 2 +- homeassistant/components/plex/sensor.py | 3 +-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/plex/const.py b/homeassistant/components/plex/const.py index 1c93ff24c400ff..4495b9a8c838ba 100644 --- a/homeassistant/components/plex/const.py +++ b/homeassistant/components/plex/const.py @@ -2,6 +2,7 @@ DOMAIN = "plex" NAME_FORMAT = "Plex {}" +DEFAULT_HOST = "localhost" DEFAULT_PORT = 32400 DEFAULT_SSL = False DEFAULT_VERIFY_SSL = True diff --git a/homeassistant/components/plex/media_player.py b/homeassistant/components/plex/media_player.py index 0279faa7c1bf38..6005321310d79a 100644 --- a/homeassistant/components/plex/media_player.py +++ b/homeassistant/components/plex/media_player.py @@ -42,6 +42,7 @@ CONF_SHOW_ALL_CONTROLS, CONF_REMOVE_UNAVAILABLE_CLIENTS, CONF_CLIENT_REMOVE_INTERVAL, + DEFAULT_HOST, DEFAULT_PORT, DEFAULT_SSL, DEFAULT_VERIFY_SSL, @@ -51,7 +52,6 @@ ) from .server import PlexServer -DEFAULT_HOST = "localhost" SERVER_SETUP = "server_setup" _CONFIGURING = {} diff --git a/homeassistant/components/plex/sensor.py b/homeassistant/components/plex/sensor.py index d18e9506837692..bece6274af69dc 100644 --- a/homeassistant/components/plex/sensor.py +++ b/homeassistant/components/plex/sensor.py @@ -19,10 +19,9 @@ from homeassistant.util import Throttle import homeassistant.helpers.config_validation as cv -from .const import DEFAULT_PORT, DEFAULT_SSL, DEFAULT_VERIFY_SSL +from .const import DEFAULT_HOST, DEFAULT_PORT, DEFAULT_SSL, DEFAULT_VERIFY_SSL from .server import PlexServer -DEFAULT_HOST = "localhost" DEFAULT_NAME = "Plex" _LOGGER = logging.getLogger(__name__)