Add locations for plexapi.photo.Photo and plexapi.video.Clip

This commit is contained in:
JonnyWong16 2020-10-16 12:31:18 -07:00
parent 8a953e789c
commit a649d2ec12
No known key found for this signature in database
GPG key ID: B1F1F9807184697A
3 changed files with 17 additions and 3 deletions

View file

@ -383,7 +383,7 @@ class Track(Audio, Playable):
@property @property
def locations(self): def locations(self):
""" This does not exist in plex xml response but is added to have a common """ This does not exist in plex xml response but is added to have a common
interface to get the location of the Artist interface to get the location of the Track
""" """
return [part.file for part in self.iterParts() if part] return [part.file for part in self.iterParts() if part]

View file

@ -159,6 +159,13 @@ class Photo(PlexPartialObject):
else: else:
raise BadRequest('Unable to get section for photo, can`t find librarySectionID') raise BadRequest('Unable to get section for photo, can`t find librarySectionID')
@property
def locations(self):
""" This does not exist in plex xml response but is added to have a common
interface to get the location of the Photo
"""
return [part.file for item in self.media for part in item.parts if part]
def sync(self, resolution, client=None, clientId=None, limit=None, title=None): def sync(self, resolution, client=None, clientId=None, limit=None, title=None):
""" Add current photo as sync item for specified device. """ Add current photo as sync item for specified device.
See :func:`plexapi.myplex.MyPlexAccount.sync()` for possible exceptions. See :func:`plexapi.myplex.MyPlexAccount.sync()` for possible exceptions.

View file

@ -328,7 +328,7 @@ class Movie(Playable, Video):
@property @property
def locations(self): def locations(self):
""" This does not exist in plex xml response but is added to have a common """ This does not exist in plex xml response but is added to have a common
interface to get the location of the Movie/Show/Episode interface to get the location of the Movie
""" """
return [part.file for part in self.iterParts() if part] return [part.file for part in self.iterParts() if part]
@ -714,7 +714,7 @@ class Episode(Playable, Video):
@property @property
def locations(self): def locations(self):
""" This does not exist in plex xml response but is added to have a common """ This does not exist in plex xml response but is added to have a common
interface to get the location of the Movie/Show interface to get the location of the Episode
""" """
return [part.file for part in self.iterParts() if part] return [part.file for part in self.iterParts() if part]
@ -770,3 +770,10 @@ class Clip(Playable, Video):
self.type = data.attrib.get('type') self.type = data.attrib.get('type')
self.year = utils.cast(int, data.attrib.get('year')) self.year = utils.cast(int, data.attrib.get('year'))
self.media = self.findItems(data, media.Media) self.media = self.findItems(data, media.Media)
@property
def locations(self):
""" This does not exist in plex xml response but is added to have a common
interface to get the location of the Clip
"""
return [part.file for part in self.iterParts() if part]