Use new media player enums in universal (#78112)

This commit is contained in:
epenet 2022-09-10 22:29:04 +02:00 committed by GitHub
parent 0d88567e0e
commit 7eefaa308f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,12 +7,6 @@ from typing import Any
import voluptuous as vol import voluptuous as vol
from homeassistant.components.media_player import ( from homeassistant.components.media_player import (
DEVICE_CLASSES_SCHEMA,
PLATFORM_SCHEMA,
MediaPlayerEntity,
MediaPlayerEntityFeature,
)
from homeassistant.components.media_player.const import (
ATTR_APP_ID, ATTR_APP_ID,
ATTR_APP_NAME, ATTR_APP_NAME,
ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE,
@ -39,11 +33,16 @@ from homeassistant.components.media_player.const import (
ATTR_MEDIA_VOLUME_MUTED, ATTR_MEDIA_VOLUME_MUTED,
ATTR_SOUND_MODE, ATTR_SOUND_MODE,
ATTR_SOUND_MODE_LIST, ATTR_SOUND_MODE_LIST,
DEVICE_CLASSES_SCHEMA,
DOMAIN, DOMAIN,
PLATFORM_SCHEMA,
SERVICE_CLEAR_PLAYLIST, SERVICE_CLEAR_PLAYLIST,
SERVICE_PLAY_MEDIA, SERVICE_PLAY_MEDIA,
SERVICE_SELECT_SOUND_MODE, SERVICE_SELECT_SOUND_MODE,
SERVICE_SELECT_SOURCE, SERVICE_SELECT_SOURCE,
MediaPlayerEntity,
MediaPlayerEntityFeature,
MediaPlayerState,
) )
from homeassistant.const import ( from homeassistant.const import (
ATTR_ENTITY_ID, ATTR_ENTITY_ID,
@ -71,13 +70,7 @@ from homeassistant.const import (
SERVICE_VOLUME_MUTE, SERVICE_VOLUME_MUTE,
SERVICE_VOLUME_SET, SERVICE_VOLUME_SET,
SERVICE_VOLUME_UP, SERVICE_VOLUME_UP,
STATE_BUFFERING,
STATE_IDLE,
STATE_OFF,
STATE_ON, STATE_ON,
STATE_PAUSED,
STATE_PLAYING,
STATE_STANDBY,
STATE_UNAVAILABLE, STATE_UNAVAILABLE,
STATE_UNKNOWN, STATE_UNKNOWN,
) )
@ -103,16 +96,16 @@ CONF_COMMANDS = "commands"
STATES_ORDER = [ STATES_ORDER = [
STATE_UNKNOWN, STATE_UNKNOWN,
STATE_UNAVAILABLE, STATE_UNAVAILABLE,
STATE_OFF, MediaPlayerState.OFF,
STATE_IDLE, MediaPlayerState.IDLE,
STATE_STANDBY, MediaPlayerState.STANDBY,
STATE_ON, MediaPlayerState.ON,
STATE_PAUSED, MediaPlayerState.PAUSED,
STATE_BUFFERING, MediaPlayerState.BUFFERING,
STATE_PLAYING, MediaPlayerState.PLAYING,
] ]
STATES_ORDER_LOOKUP = {state: idx for idx, state in enumerate(STATES_ORDER)} STATES_ORDER_LOOKUP = {state: idx for idx, state in enumerate(STATES_ORDER)}
STATES_ORDER_IDLE = STATES_ORDER_LOOKUP[STATE_IDLE] STATES_ORDER_IDLE = STATES_ORDER_LOOKUP[MediaPlayerState.IDLE]
ATTRS_SCHEMA = cv.schema_with_slug_keys(cv.string) ATTRS_SCHEMA = cv.schema_with_slug_keys(cv.string)
CMD_SCHEMA = cv.schema_with_slug_keys(cv.SERVICE_SCHEMA) CMD_SCHEMA = cv.schema_with_slug_keys(cv.SERVICE_SCHEMA)
@ -299,7 +292,7 @@ class UniversalMediaPlayer(MediaPlayerEntity):
master_state = self._entity_lkp( master_state = self._entity_lkp(
self._attrs[CONF_STATE][0], self._attrs[CONF_STATE][1] self._attrs[CONF_STATE][0], self._attrs[CONF_STATE][1]
) )
return master_state if master_state else STATE_OFF return master_state if master_state else MediaPlayerState.OFF
return None return None
@ -317,13 +310,13 @@ class UniversalMediaPlayer(MediaPlayerEntity):
else master state or off else master state or off
""" """
master_state = self.master_state # avoid multiple lookups master_state = self.master_state # avoid multiple lookups
if (master_state == STATE_OFF) or (self._state_template is not None): if (master_state == MediaPlayerState.OFF) or (self._state_template is not None):
return master_state return master_state
if active_child := self._child_state: if active_child := self._child_state:
return active_child.state return active_child.state
return master_state if master_state else STATE_OFF return master_state if master_state else MediaPlayerState.OFF
@property @property
def volume_level(self): def volume_level(self):