Introduce new StrEnums in media player (#77872)
* Introduce RepeatMode enum in media player * Add MediaClass and MediaType
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
"""Provides the constants needed for component."""
|
||||
from enum import IntEnum
|
||||
|
||||
from homeassistant.backports.enum import StrEnum
|
||||
|
||||
# How long our auth signature on the content should be valid for
|
||||
CONTENT_AUTH_EXPIRY_TIME = 3600 * 24
|
||||
|
||||
@@ -38,6 +40,34 @@ ATTR_SOUND_MODE_LIST = "sound_mode_list"
|
||||
|
||||
DOMAIN = "media_player"
|
||||
|
||||
|
||||
class MediaClass(StrEnum):
|
||||
"""Media class for media player entities."""
|
||||
|
||||
ALBUM = "album"
|
||||
APP = "app"
|
||||
ARTIST = "artist"
|
||||
CHANNEL = "channel"
|
||||
COMPOSER = "composer"
|
||||
CONTRIBUTING_ARTIST = "contributing_artist"
|
||||
DIRECTORY = "directory"
|
||||
EPISODE = "episode"
|
||||
GAME = "game"
|
||||
GENRE = "genre"
|
||||
IMAGE = "image"
|
||||
MOVIE = "movie"
|
||||
MUSIC = "music"
|
||||
PLAYLIST = "playlist"
|
||||
PODCAST = "podcast"
|
||||
SEASON = "season"
|
||||
TRACK = "track"
|
||||
TV_SHOW = "tv_show"
|
||||
URL = "url"
|
||||
VIDEO = "video"
|
||||
|
||||
|
||||
# These MEDIA_CLASS_* constants are deprecated as of Home Assistant 2022.10.
|
||||
# Please use the MediaClass enum instead.
|
||||
MEDIA_CLASS_ALBUM = "album"
|
||||
MEDIA_CLASS_APP = "app"
|
||||
MEDIA_CLASS_ARTIST = "artist"
|
||||
@@ -59,6 +89,35 @@ MEDIA_CLASS_TV_SHOW = "tv_show"
|
||||
MEDIA_CLASS_URL = "url"
|
||||
MEDIA_CLASS_VIDEO = "video"
|
||||
|
||||
|
||||
class MediaType(StrEnum):
|
||||
"""Media type for media player entities."""
|
||||
|
||||
ALBUM = "album"
|
||||
APP = "app"
|
||||
APPS = "apps"
|
||||
ARTIST = "artist"
|
||||
CHANNEL = "channel"
|
||||
CHANNELS = "channels"
|
||||
COMPOSER = "composer"
|
||||
CONTRIBUTING_ARTIST = "contributing_artist"
|
||||
EPISODE = "episode"
|
||||
GAME = "game"
|
||||
GENRE = "genre"
|
||||
IMAGE = "image"
|
||||
MOVIE = "movie"
|
||||
MUSIC = "music"
|
||||
PLAYLIST = "playlist"
|
||||
PODCAST = "podcast"
|
||||
SEASON = "season"
|
||||
TRACK = "track"
|
||||
TVSHOW = "tvshow"
|
||||
URL = "url"
|
||||
VIDEO = "video"
|
||||
|
||||
|
||||
# These MEDIA_TYPE_* constants are deprecated as of Home Assistant 2022.10.
|
||||
# Please use the MediaType enum instead.
|
||||
MEDIA_TYPE_ALBUM = "album"
|
||||
MEDIA_TYPE_APP = "app"
|
||||
MEDIA_TYPE_APPS = "apps"
|
||||
@@ -88,6 +147,17 @@ SERVICE_SELECT_SOUND_MODE = "select_sound_mode"
|
||||
SERVICE_SELECT_SOURCE = "select_source"
|
||||
SERVICE_UNJOIN = "unjoin"
|
||||
|
||||
|
||||
class RepeatMode(StrEnum):
|
||||
"""Repeat mode for media player entities."""
|
||||
|
||||
ALL = "all"
|
||||
OFF = "off"
|
||||
ONE = "one"
|
||||
|
||||
|
||||
# These REPEAT_MODE_* constants are deprecated as of Home Assistant 2022.10.
|
||||
# Please use the RepeatMode enum instead.
|
||||
REPEAT_MODE_ALL = "all"
|
||||
REPEAT_MODE_OFF = "off"
|
||||
REPEAT_MODE_ONE = "one"
|
||||
|
||||
Reference in New Issue
Block a user