Enhancement: Cleanup all player configs when player provider removed
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Tue, 25 Feb 2025 10:12:42 +0000 (11:12 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Tue, 25 Feb 2025 10:12:42 +0000 (11:12 +0100)
music_assistant/controllers/config.py

index 1749d87dcac92a76f5401dab2003dca52a70321f..288814129a27c140e3a84b35ba3662eebb0ef846 100644 (file)
@@ -302,6 +302,10 @@ class ConfigController:
                 if player.provider != instance_id:
                     continue
                 self.mass.players.remove(player.player_id, cleanup_config=True)
+            # cleanup remaining player configs
+            for player_conf in list(self.get(CONF_PLAYERS, {}).values()):
+                if player_conf["provider"] == instance_id:
+                    self.remove(f"{CONF_PLAYERS}/{player_conf['player_id']}")
 
     async def remove_provider_config_value(self, instance_id: str, key: str) -> None:
         """Remove/reset single Provider config value."""