From 64d9b95de90924fd9233dd48c8775d31206a1e9f Mon Sep 17 00:00:00 2001 From: Tim Date: Mon, 29 Jun 2015 22:26:08 +0200 Subject: [PATCH] Implement friendly names in current activity. Fix bug on current activity when playing music. --- data/interfaces/default/current_activity.html | 3 ++- plexpy/pmsconnect.py | 12 ++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/data/interfaces/default/current_activity.html b/data/interfaces/default/current_activity.html index 32477eee..dbd6d3b3 100644 --- a/data/interfaces/default/current_activity.html +++ b/data/interfaces/default/current_activity.html @@ -22,6 +22,7 @@ thumb Returns the location of the item's thumbnail. Use with p art Returns the location of the item's artwork progress_percent Returns the current progress of the item. 0 to 100. user Returns the name of the user owning the session. +friendly_name Returns the friendlly name of the user owning the session. state Returns the state of the current session. Either 'playing', 'paused' or 'buffering'. title Returns the name of the episode, movie or music track. player Returns the name of the platform used to play the stream. @@ -74,7 +75,7 @@ DOCUMENTATION :: END
- ${a['user']} is ${a['state']} + ${a['friendly_name']} is ${a['state']}
% if a['type'] == 'episode': diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index 01b88bad..f5a5b703 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -13,7 +13,7 @@ # You should have received a copy of the GNU General Public License # along with PlexPy. If not, see . -from plexpy import logger, helpers +from plexpy import logger, helpers, plexwatch from xml.dom import minidom from httplib import HTTPSConnection @@ -497,6 +497,7 @@ class PmsConnect(object): """ def get_session_each(self, stream_type='', session=None): session_output = None + plex_watch = plexwatch.PlexWatch() if stream_type == 'track': if session.getElementsByTagName('TranscodeSession'): transcode_session = session.getElementsByTagName('TranscodeSession')[0] @@ -517,6 +518,8 @@ class PmsConnect(object): 'parentThumb': self.get_xml_attr(session, 'parentThumb'), 'thumb': self.get_xml_attr(session, 'thumb'), 'user': self.get_xml_attr(session.getElementsByTagName('User')[0], 'title'), + 'friendly_name': plex_watch.get_user_friendly_name( + self.get_xml_attr(session.getElementsByTagName('User')[0], 'title')), 'player': self.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'), 'state': self.get_xml_attr(session.getElementsByTagName('Player')[0], 'state'), 'artist': self.get_xml_attr(session, 'grandparentTitle'), @@ -529,7 +532,8 @@ class PmsConnect(object): 'duration': duration, 'progress': progress, 'progressPercent': str(helpers.get_percent(progress, duration)), - 'type': 'track' + 'type': 'track', + 'indexes': 0 } elif stream_type == 'video': if session.getElementsByTagName('TranscodeSession'): @@ -579,6 +583,8 @@ class PmsConnect(object): 'art': self.get_xml_attr(session, 'art'), 'thumb': thumb, 'user': self.get_xml_attr(session.getElementsByTagName('User')[0], 'title'), + 'friendly_name': plex_watch.get_user_friendly_name( + self.get_xml_attr(session.getElementsByTagName('User')[0], 'title')), 'player': self.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'), 'state': self.get_xml_attr(session.getElementsByTagName('Player')[0], 'state'), 'grandparentTitle': self.get_xml_attr(session, 'grandparentTitle'), @@ -602,6 +608,8 @@ class PmsConnect(object): 'art': self.get_xml_attr(session, 'art'), 'thumb': thumb, 'user': self.get_xml_attr(session.getElementsByTagName('User')[0], 'title'), + 'friendly_name': plex_watch.get_user_friendly_name( + self.get_xml_attr(session.getElementsByTagName('User')[0], 'title')), 'player': self.get_xml_attr(session.getElementsByTagName('Player')[0], 'platform'), 'state': self.get_xml_attr(session.getElementsByTagName('Player')[0], 'state'), 'title': self.get_xml_attr(session, 'title'),