From d655c997312cc2eaacdfc30a14f8596f51853094 Mon Sep 17 00:00:00 2001 From: Ryan McLean Date: Tue, 19 Dec 2017 09:39:37 +0000 Subject: [PATCH] Moved media Type to new method --- homeassistant/components/media_player/plex.py | 53 ++++++++++--------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/homeassistant/components/media_player/plex.py b/homeassistant/components/media_player/plex.py index c0a4467d6b6..73cdd226245 100644 --- a/homeassistant/components/media_player/plex.py +++ b/homeassistant/components/media_player/plex.py @@ -273,7 +273,7 @@ class PlexClient(MediaPlayerDevice): self.plex_sessions = plex_sessions self.update_devices = update_devices self.update_sessions = update_sessions - #### + # General self._media_content_id = None self._media_content_rating = None self._media_content_type = None @@ -313,7 +313,6 @@ class PlexClient(MediaPlayerDevice): def _clear_media(self): """Set all Media Items to None.""" - # General for media_var in filter(lambda x: x.startswith('_media_'), dir(self)): setattr(self, media_var, None) @@ -356,18 +355,7 @@ class PlexClient(MediaPlayerDevice): self._media_content_id = self._session.ratingKey self._media_content_rating = self._session.contentRating - if self._player_state == 'playing': - self._is_player_active = True - self._state = STATE_PLAYING - elif self._player_state == 'paused': - self._is_player_active = True - self._state = STATE_PAUSED - elif self.device: - self._is_player_active = False - self._state = STATE_IDLE - else: - self._is_player_active = False - self._state = STATE_OFF + self._set_player_state() if self._is_player_active and self._session is not None: self._session_type = self._session.type @@ -376,16 +364,7 @@ class PlexClient(MediaPlayerDevice): self._session_type = None # media type - if self._session_type == 'clip': - _LOGGER.debug("Clip content type detected, compatibility may " - "vary: %s", self.entity_id) - self._media_content_type = MEDIA_TYPE_TVSHOW - elif self._session_type == 'episode': - self._media_content_type = MEDIA_TYPE_TVSHOW - elif self._session_type == 'movie': - self._media_content_type = MEDIA_TYPE_VIDEO - elif self._session_type == 'track': - self._media_content_type = MEDIA_TYPE_MUSIC + self._set_media_type() # title (movie name, tv episode name, music song name) if self._session and self._is_player_active: @@ -445,6 +424,32 @@ class PlexClient(MediaPlayerDevice): self._media_image_url = thumb_url + def _set_player_state(self): + if self._player_state == 'playing': + self._is_player_active = True + self._state = STATE_PLAYING + elif self._player_state == 'paused': + self._is_player_active = True + self._state = STATE_PAUSED + elif self.device: + self._is_player_active = False + self._state = STATE_IDLE + else: + self._is_player_active = False + self._state = STATE_OFF + + def _set_media_type(self): + if self._session_type == 'clip': + _LOGGER.debug("Clip content type detected, compatibility may " + "vary: %s", self.entity_id) + self._media_content_type = MEDIA_TYPE_TVSHOW + elif self._session_type == 'episode': + self._media_content_type = MEDIA_TYPE_TVSHOW + elif self._session_type == 'movie': + self._media_content_type = MEDIA_TYPE_VIDEO + elif self._session_type == 'track': + self._media_content_type = MEDIA_TYPE_MUSIC + def force_idle(self): """Force client to idle.""" self._state = STATE_IDLE