From 4b64b92dba8bca1d6ae8f6738a8ac5658a874911 Mon Sep 17 00:00:00 2001 From: Franck Nijhof <git@frenck.dev> Date: Fri, 29 Oct 2021 16:34:27 +0200 Subject: [PATCH] Fix OctoPrint SSDP URL parsing and discovered values (#58698) --- homeassistant/components/octoprint/config_flow.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/octoprint/config_flow.py b/homeassistant/components/octoprint/config_flow.py index ea2013f29b9..acc1449bd96 100644 --- a/homeassistant/components/octoprint/config_flow.py +++ b/homeassistant/components/octoprint/config_flow.py @@ -1,9 +1,9 @@ """Config flow for OctoPrint integration.""" import logging -from urllib.parse import urlsplit from pyoctoprintapi import ApiError, OctoprintClient, OctoprintException import voluptuous as vol +from yarl import URL from homeassistant import config_entries, data_entry_flow, exceptions from homeassistant.const import ( @@ -162,14 +162,16 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): await self.async_set_unique_id(uuid) self._abort_if_unique_id_configured() - url = urlsplit(discovery_info["presentationURL"]) + url = URL(discovery_info["presentationURL"]) self.context["title_placeholders"] = { - CONF_HOST: url.hostname, + CONF_HOST: url.host, } self.discovery_schema = _schema_with_defaults( - host=url.hostname, + host=url.host, + path=url.path, port=url.port, + ssl=url.scheme == "https", ) return await self.async_step_user() -- GitLab