From d0961ca473a099b88e353ba6dcd6b71c7bb1fc0f Mon Sep 17 00:00:00 2001 From: Markus Jacobsen Date: Mon, 24 Jun 2024 21:06:57 +0200 Subject: [PATCH] Make Bang & Olufsen products ignore .m3u media source files (#120317) --- homeassistant/components/bang_olufsen/media_player.py | 7 +++++-- homeassistant/components/bang_olufsen/strings.json | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/bang_olufsen/media_player.py b/homeassistant/components/bang_olufsen/media_player.py index 5c214a3fb17..d23c75046ff 100644 --- a/homeassistant/components/bang_olufsen/media_player.py +++ b/homeassistant/components/bang_olufsen/media_player.py @@ -45,6 +45,7 @@ from homeassistant.components.media_player import ( from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_MODEL from homeassistant.core import HomeAssistant, callback +from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.device_registry import DeviceInfo from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.entity_platform import AddEntitiesCallback @@ -572,9 +573,11 @@ class BangOlufsenMediaPlayer(BangOlufsenEntity, MediaPlayerEntity): media_id = async_process_play_media_url(self.hass, sourced_media.url) - # Remove playlist extension as it is unsupported. + # Exit if the source uses unsupported file. if media_id.endswith(".m3u"): - media_id = media_id.replace(".m3u", "") + raise HomeAssistantError( + translation_domain=DOMAIN, translation_key="m3u_invalid_format" + ) if announce: extra = kwargs.get(ATTR_MEDIA_EXTRA, {}) diff --git a/homeassistant/components/bang_olufsen/strings.json b/homeassistant/components/bang_olufsen/strings.json index 3cebfb891bc..93b55cf0db2 100644 --- a/homeassistant/components/bang_olufsen/strings.json +++ b/homeassistant/components/bang_olufsen/strings.json @@ -24,5 +24,10 @@ "description": "Confirm the configuration of the {model}-{serial_number} @ {host}." } } + }, + "exceptions": { + "m3u_invalid_format": { + "message": "Media sources with the .m3u extension are not supported." + } } }