diff --git a/API.md b/API.md index b0e77e2b..77344489 100644 --- a/API.md +++ b/API.md @@ -772,7 +772,7 @@ Get the metadata for a media item. ``` Required parameters: rating_key (str): Rating key of the item - media_info (bool): True or False wheter to get media info + media_info (bool): True or False whether to get media info Optional parameters: None @@ -1793,6 +1793,26 @@ Returns: ``` +### pms_image_proxy +Gets an image from the PMS and saves it to the image cache directory. + +``` +Required parameters: + img (str): /library/metadata/153037/thumb/1462175060 + or + rating_key (str): 54321 + +Optional parameters: + width (str): 150 + height (str): 255 + fallback (str): "poster", "cover", "art" + refresh (bool): True or False whether to refresh the image cache + +Returns: + None +``` + + ### refresh_libraries_list Refresh the PlexPy libraries list. diff --git a/plexpy/api2.py b/plexpy/api2.py index 90fbead9..b0a06189 100644 --- a/plexpy/api2.py +++ b/plexpy/api2.py @@ -458,6 +458,10 @@ General optional parameters: elif self._api_cmd == 'download_log': return + elif self._api_cmd == 'pms_image_proxy': + cherrypy.response.headers['Content-Type'] = 'image/jpeg' + return out['response']['data'] + if self._api_out_type == 'json': cherrypy.response.headers['Content-Type'] = 'application/json;charset=UTF-8' try: diff --git a/plexpy/webserve.py b/plexpy/webserve.py index caed7a78..af67e9aa 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -3265,11 +3265,27 @@ class WebInterface(object): @cherrypy.expose @requireAuth() + @addtoapi() def pms_image_proxy(self, img='', rating_key=None, width='0', height='0', fallback=None, refresh=False, **kwargs): + """ Gets an image from the PMS and saves it to the image cache directory. - """ Gets an image from the PMS and saves it to the image cache directory. """ + ``` + Required parameters: + img (str): /library/metadata/153037/thumb/1462175060 + or + rating_key (str): 54321 + Optional parameters: + width (str): 150 + height (str): 255 + fallback (str): "poster", "cover", "art" + refresh (bool): True or False whether to refresh the image cache + + Returns: + None + ``` + """ if not img and not rating_key: logger.error('No image input received.') return @@ -3623,7 +3639,7 @@ class WebInterface(object): ``` Required parameters: rating_key (str): Rating key of the item - media_info (bool): True or False wheter to get media info + media_info (bool): True or False whether to get media info Optional parameters: None