Use media player enums in dlna_dms (#78393)

Co-authored-by: Shay Levy <levyshay1@gmail.com>
This commit is contained in:
epenet 2022-09-13 22:27:04 +02:00 committed by GitHub
parent 13e8bae432
commit 6c0ad54a84
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,7 +5,7 @@ from collections.abc import Mapping
import logging
from typing import Final
from homeassistant.components.media_player import const as _mp_const
from homeassistant.components.media_player import MediaClass, MediaType
LOGGER = logging.getLogger(__package__)
@ -42,40 +42,40 @@ STREAMABLE_PROTOCOLS: Final = [PROTOCOL_HTTP, PROTOCOL_RTSP, PROTOCOL_ANY]
# Map UPnP object class to media_player media class
MEDIA_CLASS_MAP: Mapping[str, str] = {
"object": _mp_const.MEDIA_CLASS_URL,
"object.item": _mp_const.MEDIA_CLASS_URL,
"object.item.imageItem": _mp_const.MEDIA_CLASS_IMAGE,
"object.item.imageItem.photo": _mp_const.MEDIA_CLASS_IMAGE,
"object.item.audioItem": _mp_const.MEDIA_CLASS_MUSIC,
"object.item.audioItem.musicTrack": _mp_const.MEDIA_CLASS_MUSIC,
"object.item.audioItem.audioBroadcast": _mp_const.MEDIA_CLASS_MUSIC,
"object.item.audioItem.audioBook": _mp_const.MEDIA_CLASS_PODCAST,
"object.item.videoItem": _mp_const.MEDIA_CLASS_VIDEO,
"object.item.videoItem.movie": _mp_const.MEDIA_CLASS_MOVIE,
"object.item.videoItem.videoBroadcast": _mp_const.MEDIA_CLASS_TV_SHOW,
"object.item.videoItem.musicVideoClip": _mp_const.MEDIA_CLASS_VIDEO,
"object.item.playlistItem": _mp_const.MEDIA_CLASS_TRACK,
"object.item.textItem": _mp_const.MEDIA_CLASS_URL,
"object.item.bookmarkItem": _mp_const.MEDIA_CLASS_URL,
"object.item.epgItem": _mp_const.MEDIA_CLASS_EPISODE,
"object.item.epgItem.audioProgram": _mp_const.MEDIA_CLASS_MUSIC,
"object.item.epgItem.videoProgram": _mp_const.MEDIA_CLASS_VIDEO,
"object.container": _mp_const.MEDIA_CLASS_DIRECTORY,
"object.container.person": _mp_const.MEDIA_CLASS_ARTIST,
"object.container.person.musicArtist": _mp_const.MEDIA_CLASS_ARTIST,
"object.container.playlistContainer": _mp_const.MEDIA_CLASS_PLAYLIST,
"object.container.album": _mp_const.MEDIA_CLASS_ALBUM,
"object.container.album.musicAlbum": _mp_const.MEDIA_CLASS_ALBUM,
"object.container.album.photoAlbum": _mp_const.MEDIA_CLASS_ALBUM,
"object.container.genre": _mp_const.MEDIA_CLASS_GENRE,
"object.container.genre.musicGenre": _mp_const.MEDIA_CLASS_GENRE,
"object.container.genre.movieGenre": _mp_const.MEDIA_CLASS_GENRE,
"object.container.channelGroup": _mp_const.MEDIA_CLASS_CHANNEL,
"object.container.channelGroup.audioChannelGroup": _mp_const.MEDIA_TYPE_CHANNELS,
"object.container.channelGroup.videoChannelGroup": _mp_const.MEDIA_TYPE_CHANNELS,
"object.container.epgContainer": _mp_const.MEDIA_CLASS_DIRECTORY,
"object.container.storageSystem": _mp_const.MEDIA_CLASS_DIRECTORY,
"object.container.storageVolume": _mp_const.MEDIA_CLASS_DIRECTORY,
"object.container.storageFolder": _mp_const.MEDIA_CLASS_DIRECTORY,
"object.container.bookmarkFolder": _mp_const.MEDIA_CLASS_DIRECTORY,
"object": MediaClass.URL,
"object.item": MediaClass.URL,
"object.item.imageItem": MediaClass.IMAGE,
"object.item.imageItem.photo": MediaClass.IMAGE,
"object.item.audioItem": MediaClass.MUSIC,
"object.item.audioItem.musicTrack": MediaClass.MUSIC,
"object.item.audioItem.audioBroadcast": MediaClass.MUSIC,
"object.item.audioItem.audioBook": MediaClass.PODCAST,
"object.item.videoItem": MediaClass.VIDEO,
"object.item.videoItem.movie": MediaClass.MOVIE,
"object.item.videoItem.videoBroadcast": MediaClass.TV_SHOW,
"object.item.videoItem.musicVideoClip": MediaClass.VIDEO,
"object.item.playlistItem": MediaClass.TRACK,
"object.item.textItem": MediaClass.URL,
"object.item.bookmarkItem": MediaClass.URL,
"object.item.epgItem": MediaClass.EPISODE,
"object.item.epgItem.audioProgram": MediaClass.MUSIC,
"object.item.epgItem.videoProgram": MediaClass.VIDEO,
"object.container": MediaClass.DIRECTORY,
"object.container.person": MediaClass.ARTIST,
"object.container.person.musicArtist": MediaClass.ARTIST,
"object.container.playlistContainer": MediaClass.PLAYLIST,
"object.container.album": MediaClass.ALBUM,
"object.container.album.musicAlbum": MediaClass.ALBUM,
"object.container.album.photoAlbum": MediaClass.ALBUM,
"object.container.genre": MediaClass.GENRE,
"object.container.genre.musicGenre": MediaClass.GENRE,
"object.container.genre.movieGenre": MediaClass.GENRE,
"object.container.channelGroup": MediaClass.CHANNEL,
"object.container.channelGroup.audioChannelGroup": MediaType.CHANNELS,
"object.container.channelGroup.videoChannelGroup": MediaType.CHANNELS,
"object.container.epgContainer": MediaClass.DIRECTORY,
"object.container.storageSystem": MediaClass.DIRECTORY,
"object.container.storageVolume": MediaClass.DIRECTORY,
"object.container.storageFolder": MediaClass.DIRECTORY,
"object.container.bookmarkFolder": MediaClass.DIRECTORY,
}