@@ -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