From 82e76ac418216a284991ed6ab046dfc9e03f58c3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 17 Apr 2025 22:47:48 -1000 Subject: [PATCH] Make unknown media source exception translatable --- homeassistant/components/media_source/__init__.py | 8 ++++++-- homeassistant/components/media_source/error.py | 4 ++++ homeassistant/components/media_source/strings.json | 7 +++++++ 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 homeassistant/components/media_source/strings.json diff --git a/homeassistant/components/media_source/__init__.py b/homeassistant/components/media_source/__init__.py index 5c6165a3477..676569485b7 100644 --- a/homeassistant/components/media_source/__init__.py +++ b/homeassistant/components/media_source/__init__.py @@ -33,7 +33,7 @@ from .const import ( URI_SCHEME, URI_SCHEME_REGEX, ) -from .error import MediaSourceError, Unresolvable +from .error import MediaSourceError, UnknownMediaSource, Unresolvable from .models import BrowseMediaSource, MediaSource, MediaSourceItem, PlayMedia __all__ = [ @@ -113,7 +113,11 @@ def _get_media_item( return MediaSourceItem(hass, domain, "", target_media_player) if item.domain is not None and item.domain not in hass.data[DOMAIN]: - raise ValueError("Unknown media source") + raise UnknownMediaSource( + translation_domain=DOMAIN, + translation_key="unknown_media_source", + translation_placeholders={"domain": item.domain}, + ) return item diff --git a/homeassistant/components/media_source/error.py b/homeassistant/components/media_source/error.py index 120e7583e23..66e8842e08a 100644 --- a/homeassistant/components/media_source/error.py +++ b/homeassistant/components/media_source/error.py @@ -9,3 +9,7 @@ class MediaSourceError(HomeAssistantError): class Unresolvable(MediaSourceError): """When media ID is not resolvable.""" + + +class UnknownMediaSource(MediaSourceError, ValueError): + """When media source is unknown.""" diff --git a/homeassistant/components/media_source/strings.json b/homeassistant/components/media_source/strings.json new file mode 100644 index 00000000000..2a630fda532 --- /dev/null +++ b/homeassistant/components/media_source/strings.json @@ -0,0 +1,7 @@ +{ + "exceptions": { + "unknown_media_source": { + "message": "Unknown media source: {domain}" + } + } +}