From 4b602de941ad16ca5b58f8476232e1584cdeffed Mon Sep 17 00:00:00 2001 From: Diego Date: Fri, 15 Feb 2019 17:23:57 -0800 Subject: [PATCH 1/3] Add Favorite options for Photos --- plexapi/photo.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plexapi/photo.py b/plexapi/photo.py index bf1383c30..387d415b0 100644 --- a/plexapi/photo.py +++ b/plexapi/photo.py @@ -93,6 +93,7 @@ class Photo(PlexPartialObject): title (str): Photo title. type (str): Unknown updatedAt (datatime): Datetime this item was updated. + userRating (float): To mark photo as favorite (0.0, 10.0) 10.0 = favorite year (int): Year this photo was taken. """ TAG = 'Photo' @@ -115,9 +116,25 @@ def _loadData(self, data): self.title = data.attrib.get('title') self.type = data.attrib.get('type') self.updatedAt = utils.toDatetime(data.attrib.get('updatedAt')) + self.userRating = utils.cast(float, data.attrib.get('userRating', 0)) self.year = utils.cast(int, data.attrib.get('year')) self.media = self.findItems(data, media.Media) + + + def fav(self): + """ Mark photo as favorite""" + key = '/:/rate?key=%s&rating=10.0&identifier=com.plexapp.plugins.library' % self.ratingKey + self._server.query(key) + self.reload() + + def unfav(self): + """ Remove favorite mark from photo""" + key = '/:/rate?key=%s&rating=0&identifier=com.plexapp.plugins.library' % self.ratingKey + self._server.query(key) + self.reload() + + def photoalbum(self): """ Return this photo's :class:`~plexapi.photo.Photoalbum`. """ return self.fetchItem(self.parentKey) @@ -158,6 +175,7 @@ def sync(self, resolution, client=None, clientId=None, limit=None, title=None): sync_item.contentType = self.listType sync_item.metadataType = self.METADATA_TYPE sync_item.machineIdentifier = self._server.machineIdentifier + sync_item.userRating = self.userRating section = self.section() From 1dd2efefc108d4fdb355aa256aa6abd92f7b63fe Mon Sep 17 00:00:00 2001 From: Diego Date: Fri, 15 Feb 2019 17:25:37 -0800 Subject: [PATCH 2/3] renamed methods --- plexapi/photo.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plexapi/photo.py b/plexapi/photo.py index 387d415b0..7b64ab2aa 100644 --- a/plexapi/photo.py +++ b/plexapi/photo.py @@ -122,13 +122,13 @@ def _loadData(self, data): - def fav(self): + def favorite(self): """ Mark photo as favorite""" key = '/:/rate?key=%s&rating=10.0&identifier=com.plexapp.plugins.library' % self.ratingKey self._server.query(key) self.reload() - def unfav(self): + def unfavorite(self): """ Remove favorite mark from photo""" key = '/:/rate?key=%s&rating=0&identifier=com.plexapp.plugins.library' % self.ratingKey self._server.query(key) From 29e3d31cc07a0396e84b1fd013b3123273fe02cc Mon Sep 17 00:00:00 2001 From: Diego Date: Fri, 15 Feb 2019 17:28:09 -0800 Subject: [PATCH 3/3] removd empty lines --- plexapi/photo.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/plexapi/photo.py b/plexapi/photo.py index 7b64ab2aa..9662df250 100644 --- a/plexapi/photo.py +++ b/plexapi/photo.py @@ -120,8 +120,6 @@ def _loadData(self, data): self.year = utils.cast(int, data.attrib.get('year')) self.media = self.findItems(data, media.Media) - - def favorite(self): """ Mark photo as favorite""" key = '/:/rate?key=%s&rating=10.0&identifier=com.plexapp.plugins.library' % self.ratingKey @@ -134,7 +132,6 @@ def unfavorite(self): self._server.query(key) self.reload() - def photoalbum(self): """ Return this photo's :class:`~plexapi.photo.Photoalbum`. """ return self.fetchItem(self.parentKey)