From b0777e6280ee68b2ff5b8fa9a06d33ea2451b876 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Sun, 11 Sep 2022 16:48:18 +0200 Subject: [PATCH] Use new media player enums in demo (#78114) * Use new media player enums in demo * Adjust import location --- homeassistant/components/demo/media_player.py | 54 +++++++------------ 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/homeassistant/components/demo/media_player.py b/homeassistant/components/demo/media_player.py index d5098dc4586..8dbf059c2ca 100644 --- a/homeassistant/components/demo/media_player.py +++ b/homeassistant/components/demo/media_player.py @@ -7,16 +7,12 @@ from typing import Any from homeassistant.components.media_player import ( MediaPlayerDeviceClass, MediaPlayerEntity, -) -from homeassistant.components.media_player.const import ( - MEDIA_TYPE_MOVIE, - MEDIA_TYPE_MUSIC, - MEDIA_TYPE_TVSHOW, - REPEAT_MODE_OFF, MediaPlayerEntityFeature, + MediaPlayerState, + MediaType, + RepeatMode, ) from homeassistant.config_entries import ConfigEntry -from homeassistant.const import STATE_OFF, STATE_PAUSED, STATE_PLAYING from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType @@ -118,7 +114,7 @@ class AbstractDemoPlayer(MediaPlayerEntity): ) -> None: """Initialize the demo device.""" self._attr_name = name - self._player_state = STATE_PLAYING + self._player_state = MediaPlayerState.PLAYING self._volume_level = 1.0 self._volume_muted = False self._shuffle = False @@ -163,12 +159,12 @@ class AbstractDemoPlayer(MediaPlayerEntity): def turn_on(self) -> None: """Turn the media player on.""" - self._player_state = STATE_PLAYING + self._player_state = MediaPlayerState.PLAYING self.schedule_update_ha_state() def turn_off(self) -> None: """Turn the media player off.""" - self._player_state = STATE_OFF + self._player_state = MediaPlayerState.OFF self.schedule_update_ha_state() def mute_volume(self, mute: bool) -> None: @@ -193,17 +189,17 @@ class AbstractDemoPlayer(MediaPlayerEntity): def media_play(self) -> None: """Send play command.""" - self._player_state = STATE_PLAYING + self._player_state = MediaPlayerState.PLAYING self.schedule_update_ha_state() def media_pause(self) -> None: """Send pause command.""" - self._player_state = STATE_PAUSED + self._player_state = MediaPlayerState.PAUSED self.schedule_update_ha_state() def media_stop(self) -> None: """Send stop command.""" - self._player_state = STATE_OFF + self._player_state = MediaPlayerState.OFF self.schedule_update_ha_state() def set_shuffle(self, shuffle: bool) -> None: @@ -222,6 +218,8 @@ class DemoYoutubePlayer(AbstractDemoPlayer): # We only implement the methods that we support + _attr_media_content_type = MediaType.MOVIE + def __init__( self, name: str, youtube_id: str, media_title: str, duration: int ) -> None: @@ -238,11 +236,6 @@ class DemoYoutubePlayer(AbstractDemoPlayer): """Return the content ID of current playing media.""" return self.youtube_id - @property - def media_content_type(self) -> str: - """Return the content type of current playing media.""" - return MEDIA_TYPE_MOVIE - @property def media_duration(self) -> int: """Return the duration of current playing media in seconds.""" @@ -276,7 +269,7 @@ class DemoYoutubePlayer(AbstractDemoPlayer): position = self._progress - if self._player_state == STATE_PLAYING: + if self._player_state == MediaPlayerState.PLAYING: position += int( (dt_util.utcnow() - self._progress_updated_at).total_seconds() ) @@ -289,7 +282,7 @@ class DemoYoutubePlayer(AbstractDemoPlayer): Returns value from homeassistant.util.dt.utcnow(). """ - if self._player_state == STATE_PLAYING: + if self._player_state == MediaPlayerState.PLAYING: return self._progress_updated_at return None @@ -310,6 +303,8 @@ class DemoMusicPlayer(AbstractDemoPlayer): # We only implement the methods that we support + _attr_media_content_type = MediaType.MUSIC + tracks = [ ("Technohead", "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)"), ("Paul Elstak", "Luv U More"), @@ -338,7 +333,7 @@ class DemoMusicPlayer(AbstractDemoPlayer): super().__init__(name) self._cur_track = 0 self._group_members: list[str] = [] - self._repeat = REPEAT_MODE_OFF + self._repeat = RepeatMode.OFF @property def group_members(self) -> list[str]: @@ -350,11 +345,6 @@ class DemoMusicPlayer(AbstractDemoPlayer): """Return the content ID of current playing media.""" return "bounzz-1" - @property - def media_content_type(self) -> str: - """Return the content type of current playing media.""" - return MEDIA_TYPE_MUSIC - @property def media_duration(self) -> int: """Return the duration of current playing media in seconds.""" @@ -386,7 +376,7 @@ class DemoMusicPlayer(AbstractDemoPlayer): return self._cur_track + 1 @property - def repeat(self) -> str: + def repeat(self) -> RepeatMode: """Return current repeat mode.""" return self._repeat @@ -411,10 +401,10 @@ class DemoMusicPlayer(AbstractDemoPlayer): """Clear players playlist.""" self.tracks = [] self._cur_track = 0 - self._player_state = STATE_OFF + self._player_state = MediaPlayerState.OFF self.schedule_update_ha_state() - def set_repeat(self, repeat: str) -> None: + def set_repeat(self, repeat: RepeatMode) -> None: """Enable/disable repeat mode.""" self._repeat = repeat self.schedule_update_ha_state() @@ -438,6 +428,7 @@ class DemoTVShowPlayer(AbstractDemoPlayer): # We only implement the methods that we support _attr_device_class = MediaPlayerDeviceClass.TV + _attr_media_content_type = MediaType.TVSHOW def __init__(self) -> None: """Initialize the demo device.""" @@ -452,11 +443,6 @@ class DemoTVShowPlayer(AbstractDemoPlayer): """Return the content ID of current playing media.""" return "house-of-cards-1" - @property - def media_content_type(self) -> str: - """Return the content type of current playing media.""" - return MEDIA_TYPE_TVSHOW - @property def media_duration(self) -> int: """Return the duration of current playing media in seconds."""