Skip to content

Commit dedab2b

Browse files
committed
posters methods for collections
1 parent 623c304 commit dedab2b

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

plexapi/library.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,5 +1070,26 @@ def sortUpdate(self, sort=None):
10701070
part = '/library/metadata/%s/prefs?collectionSort=%s' % (self.ratingKey, key)
10711071
return self._server.query(part, method=self._server._session.put)
10721072

1073+
def posters(self):
1074+
""" Returns list of available poster objects. :class:`~plexapi.media.Poster`. """
1075+
1076+
return self.fetchItems('%s/posters' % self.key)
1077+
1078+
def uploadPoster(self, url=None, filepath=None):
1079+
""" Upload poster from url or filepath. :class:`~plexapi.media.Poster` to :class:`~plexapi.video.Video`. """
1080+
if url:
1081+
key = '/library/metadata/%s/posters?url=%s' % (self.ratingKey, quote_plus(url))
1082+
self._server.query(key, method=self._server._session.post)
1083+
elif filepath:
1084+
key = '%s/posters?' % self.key
1085+
data = open(filepath, 'rb').read()
1086+
self._server.query(key, method=self._server._session.post, data=data)
1087+
1088+
def setPoster(self, poster):
1089+
""" Set . :class:`~plexapi.media.Poster` to :class:`~plexapi.video.Video` """
1090+
key = poster._initpath[:-1]
1091+
data = '%s?url=%s' % (key, quote_plus(poster.ratingKey))
1092+
self._server.query(data, method=self._server._session.put)
1093+
10731094
# def edit(self, **kwargs):
10741095
# TODO

0 commit comments

Comments
 (0)