Skip to content

Commit 4795020

Browse files
committed
moved poster related methods to base PlexPartialObject class
1 parent 1abcff8 commit 4795020

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

plexapi/base.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,26 @@ def history(self, maxresults=9999999, mindate=None):
429429
"""
430430
return self._server.history(maxresults=maxresults, mindate=mindate, ratingKey=self.ratingKey)
431431

432+
def posters(self):
433+
""" Returns list of available poster objects. :class:`~plexapi.media.Poster`. """
434+
435+
return self.fetchItems('%s/posters' % self.key)
436+
437+
def uploadPoster(self, url=None, filepath=None):
438+
""" Upload poster from url or filepath. :class:`~plexapi.media.Poster` to :class:`~plexapi.video.Video`. """
439+
if url:
440+
key = '%s/posters?url=%s' % (self.key, quote_plus(url))
441+
self._server.query(key, method=self._server._session.post)
442+
elif filepath:
443+
key = '%s/posters?' % self.key
444+
data = open(filepath, 'rb').read()
445+
self._server.query(key, method=self._server._session.post, data=data)
446+
447+
def setPoster(self, poster):
448+
key = poster._initpath[:-1]
449+
data = '%s?url=%s' % (key, quote_plus(poster.ratingKey))
450+
self._server.query(data, method=self._server._session.put)
451+
432452
# The photo tag cant be built atm. TODO
433453
# def arts(self):
434454
# part = '%s/arts' % self.key

0 commit comments

Comments
 (0)