Use EntityFeature enum in components (o**) (#69433)

This commit is contained in:
epenet 2022-04-07 15:15:05 +02:00 committed by GitHub
parent 3aeb53ec98
commit cac8d71764
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 80 additions and 110 deletions

View file

@ -11,26 +11,14 @@ from openhomedevice.device import Device
import voluptuous as vol
from homeassistant.components import media_source
from homeassistant.components.media_player import MediaPlayerEntity
from homeassistant.components.media_player import (
MediaPlayerEntity,
MediaPlayerEntityFeature,
)
from homeassistant.components.media_player.browse_media import (
async_process_play_media_url,
)
from homeassistant.components.media_player.const import (
MEDIA_TYPE_MUSIC,
SUPPORT_BROWSE_MEDIA,
SUPPORT_NEXT_TRACK,
SUPPORT_PAUSE,
SUPPORT_PLAY,
SUPPORT_PLAY_MEDIA,
SUPPORT_PREVIOUS_TRACK,
SUPPORT_SELECT_SOURCE,
SUPPORT_STOP,
SUPPORT_TURN_OFF,
SUPPORT_TURN_ON,
SUPPORT_VOLUME_MUTE,
SUPPORT_VOLUME_SET,
SUPPORT_VOLUME_STEP,
)
from homeassistant.components.media_player.const import MEDIA_TYPE_MUSIC
from homeassistant.const import STATE_IDLE, STATE_OFF, STATE_PAUSED, STATE_PLAYING
from homeassistant.core import HomeAssistant
from homeassistant.helpers import config_validation as cv, entity_platform
@ -39,7 +27,11 @@ from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from .const import ATTR_PIN_INDEX, DATA_OPENHOME, SERVICE_INVOKE_PIN
SUPPORT_OPENHOME = SUPPORT_SELECT_SOURCE | SUPPORT_TURN_OFF | SUPPORT_TURN_ON
SUPPORT_OPENHOME = (
MediaPlayerEntityFeature.SELECT_SOURCE
| MediaPlayerEntityFeature.TURN_OFF
| MediaPlayerEntityFeature.TURN_ON
)
_LOGGER = logging.getLogger(__name__)
@ -113,7 +105,7 @@ class OpenhomeDevice(MediaPlayerEntity):
self._transport_state = None
self._volume_level = None
self._volume_muted = None
self._supported_features = SUPPORT_OPENHOME
self._attr_supported_features = SUPPORT_OPENHOME
self._source_names = []
self._source_index = {}
self._source = {}
@ -134,13 +126,15 @@ class OpenhomeDevice(MediaPlayerEntity):
self._track_information = await self._device.track_info()
self._source = await self._device.source()
self._name = await self._device.room()
self._supported_features = SUPPORT_OPENHOME
self._attr_supported_features = SUPPORT_OPENHOME
source_index = {}
source_names = []
if self._device.volume_enabled:
self._supported_features |= (
SUPPORT_VOLUME_STEP | SUPPORT_VOLUME_MUTE | SUPPORT_VOLUME_SET
self._attr_supported_features |= (
MediaPlayerEntityFeature.VOLUME_STEP
| MediaPlayerEntityFeature.VOLUME_MUTE
| MediaPlayerEntityFeature.VOLUME_SET
)
self._volume_level = await self._device.volume() / 100.0
self._volume_muted = await self._device.is_muted()
@ -153,20 +147,20 @@ class OpenhomeDevice(MediaPlayerEntity):
self._source_names = source_names
if self._source["type"] == "Radio":
self._supported_features |= (
SUPPORT_STOP
| SUPPORT_PLAY
| SUPPORT_PLAY_MEDIA
| SUPPORT_BROWSE_MEDIA
self._attr_supported_features |= (
MediaPlayerEntityFeature.STOP
| MediaPlayerEntityFeature.PLAY
| MediaPlayerEntityFeature.PLAY_MEDIA
| MediaPlayerEntityFeature.BROWSE_MEDIA
)
if self._source["type"] in ("Playlist", "Spotify"):
self._supported_features |= (
SUPPORT_PREVIOUS_TRACK
| SUPPORT_NEXT_TRACK
| SUPPORT_PAUSE
| SUPPORT_PLAY
| SUPPORT_PLAY_MEDIA
| SUPPORT_BROWSE_MEDIA
self._attr_supported_features |= (
MediaPlayerEntityFeature.PREVIOUS_TRACK
| MediaPlayerEntityFeature.NEXT_TRACK
| MediaPlayerEntityFeature.PAUSE
| MediaPlayerEntityFeature.PLAY
| MediaPlayerEntityFeature.PLAY_MEDIA
| MediaPlayerEntityFeature.BROWSE_MEDIA
)
if self._in_standby:
@ -262,11 +256,6 @@ class OpenhomeDevice(MediaPlayerEntity):
"""Return the name of the device."""
return self._name
@property
def supported_features(self):
"""Flag of features commands that are supported."""
return self._supported_features
@property
def unique_id(self):
"""Return a unique ID."""