From be17ba15db86323e6ebf63197e4b03721c41935d Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Fri, 16 Sep 2022 23:04:29 +0200 Subject: [PATCH] Use attributes in demo media-player (#78461) * Use attributes in demo media-player * Use _attr_is_volume_muted * Use _attr_shuffle * Use _attr_sound_mode / _attr_sound_mode_list --- homeassistant/components/demo/media_player.py | 49 +++++-------------- 1 file changed, 13 insertions(+), 36 deletions(-) diff --git a/homeassistant/components/demo/media_player.py b/homeassistant/components/demo/media_player.py index 8c4df015d18..8bbe380d9ec 100644 --- a/homeassistant/components/demo/media_player.py +++ b/homeassistant/components/demo/media_player.py @@ -105,6 +105,7 @@ NETFLIX_PLAYER_SUPPORT = ( class AbstractDemoPlayer(MediaPlayerEntity): """A demo media players.""" + _attr_sound_mode_list = SOUND_MODE_LIST _attr_should_poll = False # We only implement the methods that we support @@ -115,38 +116,12 @@ class AbstractDemoPlayer(MediaPlayerEntity): """Initialize the demo device.""" self._attr_name = name self._attr_state = MediaPlayerState.PLAYING - self._volume_level = 1.0 - self._volume_muted = False - self._shuffle = False - self._sound_mode_list = SOUND_MODE_LIST - self._sound_mode = DEFAULT_SOUND_MODE + self._attr_volume_level = 1.0 + self._attr_is_volume_muted = False + self._attr_shuffle = False + self._attr_sound_mode = DEFAULT_SOUND_MODE self._attr_device_class = device_class - @property - def volume_level(self) -> float: - """Return the volume level of the media player (0..1).""" - return self._volume_level - - @property - def is_volume_muted(self) -> bool: - """Return boolean if volume is currently muted.""" - return self._volume_muted - - @property - def shuffle(self) -> bool: - """Boolean if shuffling is enabled.""" - return self._shuffle - - @property - def sound_mode(self) -> str: - """Return the current sound mode.""" - return self._sound_mode - - @property - def sound_mode_list(self) -> list[str]: - """Return a list of available sound modes.""" - return self._sound_mode_list - def turn_on(self) -> None: """Turn the media player on.""" self._attr_state = MediaPlayerState.PLAYING @@ -159,22 +134,24 @@ class AbstractDemoPlayer(MediaPlayerEntity): def mute_volume(self, mute: bool) -> None: """Mute the volume.""" - self._volume_muted = mute + self._attr_is_volume_muted = mute self.schedule_update_ha_state() def volume_up(self) -> None: """Increase volume.""" - self._volume_level = min(1.0, self._volume_level + 0.1) + assert self.volume_level is not None + self._attr_volume_level = min(1.0, self.volume_level + 0.1) self.schedule_update_ha_state() def volume_down(self) -> None: """Decrease volume.""" - self._volume_level = max(0.0, self._volume_level - 0.1) + assert self.volume_level is not None + self._attr_volume_level = max(0.0, self.volume_level - 0.1) self.schedule_update_ha_state() def set_volume_level(self, volume: float) -> None: """Set the volume level, range 0..1.""" - self._volume_level = volume + self._attr_volume_level = volume self.schedule_update_ha_state() def media_play(self) -> None: @@ -194,12 +171,12 @@ class AbstractDemoPlayer(MediaPlayerEntity): def set_shuffle(self, shuffle: bool) -> None: """Enable/disable shuffle mode.""" - self._shuffle = shuffle + self._attr_shuffle = shuffle self.schedule_update_ha_state() def select_sound_mode(self, sound_mode: str) -> None: """Select sound mode.""" - self._sound_mode = sound_mode + self._attr_sound_mode = sound_mode self.schedule_update_ha_state()