Allow homeassistant prefix for device info configuration url (#58414)

* Allow panel prefix for device info configuration url

* Add to add-ons

* Use homeassistant as the prefix

* Update homeassistant/components/hassio/__init__.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
This commit is contained in:
Joakim Sørensen 2021-10-26 10:34:02 +02:00 committed by GitHub
parent def7c80e71
commit d16304a201
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 55 additions and 6 deletions

View file

@ -8,6 +8,7 @@ from datetime import datetime, timedelta
from logging import Logger, getLogger
from types import ModuleType
from typing import TYPE_CHECKING, Any, Protocol
from urllib.parse import urlparse
import voluptuous as vol
@ -476,14 +477,17 @@ class EntityPlatform:
processed_dev_info[key] = device_info[key] # type: ignore[misc]
if "configuration_url" in device_info:
try:
processed_dev_info["configuration_url"] = cv.url(
device_info["configuration_url"]
)
except vol.Invalid:
configuration_url = str(device_info["configuration_url"])
if urlparse(configuration_url).scheme in [
"http",
"https",
"homeassistant",
]:
processed_dev_info["configuration_url"] = configuration_url
else:
_LOGGER.warning(
"Ignoring invalid device configuration_url '%s'",
device_info["configuration_url"],
configuration_url,
)
try: