mirror of
https://github.com/home-assistant/core.git
synced 2025-07-13 08:17:08 +00:00
Add media type separation for video/movie (#13612)
* added media type separation for video/movie * updated all media_player components to reflect new media type
This commit is contained in:
parent
0081764ddc
commit
edcb242b6d
@ -83,7 +83,8 @@ ATTR_MEDIA_SHUFFLE = 'shuffle'
|
|||||||
|
|
||||||
MEDIA_TYPE_MUSIC = 'music'
|
MEDIA_TYPE_MUSIC = 'music'
|
||||||
MEDIA_TYPE_TVSHOW = 'tvshow'
|
MEDIA_TYPE_TVSHOW = 'tvshow'
|
||||||
MEDIA_TYPE_VIDEO = 'movie'
|
MEDIA_TYPE_MOVIE = 'movie'
|
||||||
|
MEDIA_TYPE_VIDEO = 'video'
|
||||||
MEDIA_TYPE_EPISODE = 'episode'
|
MEDIA_TYPE_EPISODE = 'episode'
|
||||||
MEDIA_TYPE_CHANNEL = 'channel'
|
MEDIA_TYPE_CHANNEL = 'channel'
|
||||||
MEDIA_TYPE_PLAYLIST = 'playlist'
|
MEDIA_TYPE_PLAYLIST = 'playlist'
|
||||||
|
@ -18,7 +18,7 @@ from homeassistant.core import callback
|
|||||||
from homeassistant.helpers.dispatcher import (dispatcher_send,
|
from homeassistant.helpers.dispatcher import (dispatcher_send,
|
||||||
async_dispatcher_connect)
|
async_dispatcher_connect)
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_VIDEO, SUPPORT_NEXT_TRACK,
|
MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_MOVIE, SUPPORT_NEXT_TRACK,
|
||||||
SUPPORT_PAUSE, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK,
|
SUPPORT_PAUSE, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK,
|
||||||
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
||||||
SUPPORT_STOP, SUPPORT_PLAY, MediaPlayerDevice, PLATFORM_SCHEMA)
|
SUPPORT_STOP, SUPPORT_PLAY, MediaPlayerDevice, PLATFORM_SCHEMA)
|
||||||
@ -517,7 +517,7 @@ class CastDevice(MediaPlayerDevice):
|
|||||||
elif self.media_status.media_is_tvshow:
|
elif self.media_status.media_is_tvshow:
|
||||||
return MEDIA_TYPE_TVSHOW
|
return MEDIA_TYPE_TVSHOW
|
||||||
elif self.media_status.media_is_movie:
|
elif self.media_status.media_is_movie:
|
||||||
return MEDIA_TYPE_VIDEO
|
return MEDIA_TYPE_MOVIE
|
||||||
elif self.media_status.media_is_musictrack:
|
elif self.media_status.media_is_musictrack:
|
||||||
return MEDIA_TYPE_MUSIC
|
return MEDIA_TYPE_MUSIC
|
||||||
return None
|
return None
|
||||||
|
@ -10,7 +10,7 @@ import voluptuous as vol
|
|||||||
|
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MEDIA_TYPE_CHANNEL, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_EPISODE,
|
MEDIA_TYPE_CHANNEL, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_EPISODE,
|
||||||
MEDIA_TYPE_VIDEO, SUPPORT_PLAY, SUPPORT_PAUSE, SUPPORT_STOP,
|
MEDIA_TYPE_MOVIE, SUPPORT_PLAY, SUPPORT_PAUSE, SUPPORT_STOP,
|
||||||
SUPPORT_VOLUME_MUTE, SUPPORT_NEXT_TRACK, SUPPORT_PREVIOUS_TRACK,
|
SUPPORT_VOLUME_MUTE, SUPPORT_NEXT_TRACK, SUPPORT_PREVIOUS_TRACK,
|
||||||
SUPPORT_PLAY_MEDIA, SUPPORT_SELECT_SOURCE, DOMAIN, PLATFORM_SCHEMA,
|
SUPPORT_PLAY_MEDIA, SUPPORT_SELECT_SOURCE, DOMAIN, PLATFORM_SCHEMA,
|
||||||
MediaPlayerDevice)
|
MediaPlayerDevice)
|
||||||
@ -281,7 +281,7 @@ class ChannelsPlayer(MediaPlayerDevice):
|
|||||||
if media_type == MEDIA_TYPE_CHANNEL:
|
if media_type == MEDIA_TYPE_CHANNEL:
|
||||||
response = self.client.play_channel(media_id)
|
response = self.client.play_channel(media_id)
|
||||||
self.update_state(response)
|
self.update_state(response)
|
||||||
elif media_type in [MEDIA_TYPE_VIDEO, MEDIA_TYPE_EPISODE,
|
elif media_type in [MEDIA_TYPE_MOVIE, MEDIA_TYPE_EPISODE,
|
||||||
MEDIA_TYPE_TVSHOW]:
|
MEDIA_TYPE_TVSHOW]:
|
||||||
response = self.client.play_recording(media_id)
|
response = self.client.play_recording(media_id)
|
||||||
self.update_state(response)
|
self.update_state(response)
|
||||||
|
@ -5,7 +5,7 @@ For more details about this platform, please refer to the documentation
|
|||||||
https://home-assistant.io/components/demo/
|
https://home-assistant.io/components/demo/
|
||||||
"""
|
"""
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_VIDEO, SUPPORT_NEXT_TRACK,
|
MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_MOVIE, SUPPORT_NEXT_TRACK,
|
||||||
SUPPORT_PAUSE, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK,
|
SUPPORT_PAUSE, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK,
|
||||||
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
||||||
SUPPORT_SELECT_SOURCE, SUPPORT_CLEAR_PLAYLIST, SUPPORT_PLAY,
|
SUPPORT_SELECT_SOURCE, SUPPORT_CLEAR_PLAYLIST, SUPPORT_PLAY,
|
||||||
@ -147,7 +147,7 @@ class DemoYoutubePlayer(AbstractDemoPlayer):
|
|||||||
@property
|
@property
|
||||||
def media_content_type(self):
|
def media_content_type(self):
|
||||||
"""Return the content type of current playing media."""
|
"""Return the content type of current playing media."""
|
||||||
return MEDIA_TYPE_VIDEO
|
return MEDIA_TYPE_MOVIE
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def media_duration(self):
|
def media_duration(self):
|
||||||
|
@ -8,7 +8,7 @@ import voluptuous as vol
|
|||||||
import requests
|
import requests
|
||||||
|
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MEDIA_TYPE_TVSHOW, MEDIA_TYPE_VIDEO, SUPPORT_PAUSE, SUPPORT_PLAY_MEDIA,
|
MEDIA_TYPE_TVSHOW, MEDIA_TYPE_MOVIE, SUPPORT_PAUSE, SUPPORT_PLAY_MEDIA,
|
||||||
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_STOP, PLATFORM_SCHEMA,
|
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_STOP, PLATFORM_SCHEMA,
|
||||||
SUPPORT_NEXT_TRACK, SUPPORT_PREVIOUS_TRACK, SUPPORT_PLAY,
|
SUPPORT_NEXT_TRACK, SUPPORT_PREVIOUS_TRACK, SUPPORT_PLAY,
|
||||||
MediaPlayerDevice)
|
MediaPlayerDevice)
|
||||||
@ -154,7 +154,7 @@ class DirecTvDevice(MediaPlayerDevice):
|
|||||||
"""Return the content type of current playing media."""
|
"""Return the content type of current playing media."""
|
||||||
if 'episodeTitle' in self._current:
|
if 'episodeTitle' in self._current:
|
||||||
return MEDIA_TYPE_TVSHOW
|
return MEDIA_TYPE_TVSHOW
|
||||||
return MEDIA_TYPE_VIDEO
|
return MEDIA_TYPE_MOVIE
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def media_channel(self):
|
def media_channel(self):
|
||||||
|
@ -10,7 +10,7 @@ import logging
|
|||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MEDIA_TYPE_TVSHOW, MEDIA_TYPE_VIDEO, MEDIA_TYPE_MUSIC, SUPPORT_NEXT_TRACK,
|
MEDIA_TYPE_TVSHOW, MEDIA_TYPE_MOVIE, MEDIA_TYPE_MUSIC, SUPPORT_NEXT_TRACK,
|
||||||
SUPPORT_PAUSE, SUPPORT_SEEK, SUPPORT_STOP, SUPPORT_PREVIOUS_TRACK,
|
SUPPORT_PAUSE, SUPPORT_SEEK, SUPPORT_STOP, SUPPORT_PREVIOUS_TRACK,
|
||||||
MediaPlayerDevice, SUPPORT_PLAY, PLATFORM_SCHEMA)
|
MediaPlayerDevice, SUPPORT_PLAY, PLATFORM_SCHEMA)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
@ -231,7 +231,7 @@ class EmbyDevice(MediaPlayerDevice):
|
|||||||
if media_type == 'Episode':
|
if media_type == 'Episode':
|
||||||
return MEDIA_TYPE_TVSHOW
|
return MEDIA_TYPE_TVSHOW
|
||||||
elif media_type == 'Movie':
|
elif media_type == 'Movie':
|
||||||
return MEDIA_TYPE_VIDEO
|
return MEDIA_TYPE_MOVIE
|
||||||
elif media_type == 'Trailer':
|
elif media_type == 'Trailer':
|
||||||
return MEDIA_TYPE_TRAILER
|
return MEDIA_TYPE_TRAILER
|
||||||
elif media_type == 'Music':
|
elif media_type == 'Music':
|
||||||
|
@ -19,8 +19,8 @@ from homeassistant.components.media_player import (
|
|||||||
SUPPORT_PLAY_MEDIA, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, SUPPORT_STOP,
|
SUPPORT_PLAY_MEDIA, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, SUPPORT_STOP,
|
||||||
SUPPORT_TURN_OFF, SUPPORT_PLAY, SUPPORT_VOLUME_STEP, SUPPORT_SHUFFLE_SET,
|
SUPPORT_TURN_OFF, SUPPORT_PLAY, SUPPORT_VOLUME_STEP, SUPPORT_SHUFFLE_SET,
|
||||||
MediaPlayerDevice, PLATFORM_SCHEMA, MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW,
|
MediaPlayerDevice, PLATFORM_SCHEMA, MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW,
|
||||||
MEDIA_TYPE_VIDEO, MEDIA_TYPE_CHANNEL, MEDIA_TYPE_PLAYLIST,
|
MEDIA_TYPE_MOVIE, MEDIA_TYPE_VIDEO, MEDIA_TYPE_CHANNEL,
|
||||||
MEDIA_PLAYER_SCHEMA, DOMAIN, SUPPORT_TURN_ON)
|
MEDIA_TYPE_PLAYLIST, MEDIA_PLAYER_SCHEMA, DOMAIN, SUPPORT_TURN_ON)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
STATE_IDLE, STATE_OFF, STATE_PAUSED, STATE_PLAYING, CONF_HOST, CONF_NAME,
|
STATE_IDLE, STATE_OFF, STATE_PAUSED, STATE_PLAYING, CONF_HOST, CONF_NAME,
|
||||||
CONF_PORT, CONF_PROXY_SSL, CONF_USERNAME, CONF_PASSWORD,
|
CONF_PORT, CONF_PROXY_SSL, CONF_USERNAME, CONF_PASSWORD,
|
||||||
@ -67,7 +67,7 @@ MEDIA_TYPES = {
|
|||||||
'video': MEDIA_TYPE_VIDEO,
|
'video': MEDIA_TYPE_VIDEO,
|
||||||
'set': MEDIA_TYPE_PLAYLIST,
|
'set': MEDIA_TYPE_PLAYLIST,
|
||||||
'musicvideo': MEDIA_TYPE_VIDEO,
|
'musicvideo': MEDIA_TYPE_VIDEO,
|
||||||
'movie': MEDIA_TYPE_VIDEO,
|
'movie': MEDIA_TYPE_MOVIE,
|
||||||
'tvshow': MEDIA_TYPE_TVSHOW,
|
'tvshow': MEDIA_TYPE_TVSHOW,
|
||||||
'season': MEDIA_TYPE_TVSHOW,
|
'season': MEDIA_TYPE_TVSHOW,
|
||||||
'episode': MEDIA_TYPE_TVSHOW,
|
'episode': MEDIA_TYPE_TVSHOW,
|
||||||
|
@ -14,7 +14,7 @@ import voluptuous as vol
|
|||||||
|
|
||||||
from homeassistant import util
|
from homeassistant import util
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_VIDEO, PLATFORM_SCHEMA,
|
MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_MOVIE, PLATFORM_SCHEMA,
|
||||||
SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_PREVIOUS_TRACK,
|
SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_PREVIOUS_TRACK,
|
||||||
SUPPORT_STOP, SUPPORT_TURN_OFF, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
SUPPORT_STOP, SUPPORT_TURN_OFF, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
||||||
MediaPlayerDevice)
|
MediaPlayerDevice)
|
||||||
@ -480,7 +480,7 @@ class PlexClient(MediaPlayerDevice):
|
|||||||
self._media_episode = str(self._session.index).zfill(2)
|
self._media_episode = str(self._session.index).zfill(2)
|
||||||
|
|
||||||
elif self._session_type == 'movie':
|
elif self._session_type == 'movie':
|
||||||
self._media_content_type = MEDIA_TYPE_VIDEO
|
self._media_content_type = MEDIA_TYPE_MOVIE
|
||||||
if self._session.year is not None and \
|
if self._session.year is not None and \
|
||||||
self._media_title is not None:
|
self._media_title is not None:
|
||||||
self._media_title += ' (' + str(self._session.year) + ')'
|
self._media_title += ' (' + str(self._session.year) + ')'
|
||||||
@ -576,7 +576,7 @@ class PlexClient(MediaPlayerDevice):
|
|||||||
elif self._session_type == 'episode':
|
elif self._session_type == 'episode':
|
||||||
return MEDIA_TYPE_TVSHOW
|
return MEDIA_TYPE_TVSHOW
|
||||||
elif self._session_type == 'movie':
|
elif self._session_type == 'movie':
|
||||||
return MEDIA_TYPE_VIDEO
|
return MEDIA_TYPE_MOVIE
|
||||||
elif self._session_type == 'track':
|
elif self._session_type == 'track':
|
||||||
return MEDIA_TYPE_MUSIC
|
return MEDIA_TYPE_MUSIC
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import logging
|
|||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
MEDIA_TYPE_VIDEO, SUPPORT_NEXT_TRACK, SUPPORT_PLAY_MEDIA,
|
MEDIA_TYPE_MOVIE, SUPPORT_NEXT_TRACK, SUPPORT_PLAY_MEDIA,
|
||||||
SUPPORT_PREVIOUS_TRACK, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
SUPPORT_PREVIOUS_TRACK, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
||||||
SUPPORT_SELECT_SOURCE, SUPPORT_PLAY, MediaPlayerDevice, PLATFORM_SCHEMA)
|
SUPPORT_SELECT_SOURCE, SUPPORT_PLAY, MediaPlayerDevice, PLATFORM_SCHEMA)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
@ -155,7 +155,7 @@ class RokuDevice(MediaPlayerDevice):
|
|||||||
return None
|
return None
|
||||||
elif self.current_app.name == "Roku":
|
elif self.current_app.name == "Roku":
|
||||||
return None
|
return None
|
||||||
return MEDIA_TYPE_VIDEO
|
return MEDIA_TYPE_MOVIE
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def media_image_url(self):
|
def media_image_url(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user