fix: snapcast delete client (#2117)
authorSantiago Soto <santiago@soto.uy>
Tue, 8 Apr 2025 20:03:23 +0000 (17:03 -0300)
committerGitHub <noreply@github.com>
Tue, 8 Apr 2025 20:03:23 +0000 (22:03 +0200)
* Handle exceptions when removing a snapclient and log warnings

* Fix exception handling for snapclient removal to specifically catch TypeError

music_assistant/providers/snapcast/__init__.py

index b1add931aa72c945f7df1cef612f3d6e686aa416..a55fb30420989a172d88d8b38386fb24e4ae46e6 100644 (file)
@@ -446,7 +446,10 @@ class SnapCastProvider(PlayerProvider):
 
     async def remove_player(self, player_id: str) -> None:
         """Remove the client from the snapserver when it is deleted."""
-        await self._snapserver.delete_client(self._get_snapclient_id(player_id))
+        try:
+            await self._snapserver.delete_client(self._get_snapclient_id(player_id))
+        except TypeError as err:
+            self.logger.warning("Unable to remove snapclient %s: %s", player_id, str(err))
 
     async def cmd_volume_set(self, player_id: str, volume_level: int) -> None:
         """Send VOLUME_SET command to given player."""