Coverage for custom_components/dev_shell_server/browser.py: 46%
11 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-10-03 09:02 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-10-03 09:02 +0000
1"""`open(...)` - open a URL for something in this Home Assistant instance.
3Currently just `open(hass)`, opening the instance's own frontend URL (whichever
4one homeassistant.helpers.network.get_url resolves). Expected to grow forms that
5take a specific entity/device/area and build a deep link into the frontend.
6"""
8from __future__ import annotations
10import webbrowser
11from typing import Any
13from homeassistant.core import HomeAssistant
14from homeassistant.helpers.network import get_url
17def open_target(target: Any) -> str:
18 """Open target in a browser and return the URL opened."""
19 if not isinstance(target, HomeAssistant):
20 raise TypeError(
21 f"open() doesn't know how to open a {type(target).__name__} yet"
22 )
23 url = get_url(target)
24 webbrowser.open(url)
25 return url