From 4e569ac0c3f1a24c3cad2a66e6f57581abc587f3 Mon Sep 17 00:00:00 2001 From: Anders Melchiorsen Date: Wed, 14 Mar 2018 20:08:41 +0100 Subject: [PATCH] Ignore unsupported Sonos favorites (#13195) --- homeassistant/components/media_player/sonos.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/media_player/sonos.py b/homeassistant/components/media_player/sonos.py index 9ea33b4c396..ec9bdf34d56 100644 --- a/homeassistant/components/media_player/sonos.py +++ b/homeassistant/components/media_player/sonos.py @@ -426,7 +426,17 @@ class SonosDevice(MediaPlayerDevice): self._play_mode = self.soco.play_mode self._night_sound = self.soco.night_mode self._speech_enhance = self.soco.dialog_mode - self._favorites = self.soco.music_library.get_sonos_favorites() + + self._favorites = [] + for fav in self.soco.music_library.get_sonos_favorites(): + # SoCo 0.14 raises a generic Exception on invalid xml in favorites. + # Filter those out now so our list is safe to use. + try: + if fav.reference.get_uri(): + self._favorites.append(fav) + # pylint: disable=broad-except + except Exception: + _LOGGER.debug("Ignoring invalid favorite '%s'", fav.title) def _subscribe_to_player_events(self): """Add event subscriptions."""