diff --git a/data/interfaces/newsletters/recently_added.html b/data/interfaces/newsletters/recently_added.html index 5684ce36..06d3d000 100644 --- a/data/interfaces/newsletters/recently_added.html +++ b/data/interfaces/newsletters/recently_added.html @@ -13,9 +13,9 @@ service = get_img_service(include_self=True) if service == 'self-hosted' and plexpy.CONFIG.HTTP_BASE_URL: - base_url_image = plexpy.CONFIG.HTTP_BASE_URL + plexpy.HTTP_ROOT + 'newsletter/image/' - elif service and service != 'self-hosted' and preview: - base_url_image = 'newsletter/image/' + base_url_image = plexpy.CONFIG.HTTP_BASE_URL + plexpy.HTTP_ROOT + 'image/' + elif preview and service and service != 'self-hosted': + base_url_image = 'image/' else: base_url_image = '' @@ -623,7 +623,7 @@ -% if preview and service: +% if preview and service and service != 'self-hosted' :

Note: Local preview images only - images will be uploaded to ${service.capitalize()} when the newsletter is sent.

% elif preview and not service:

Warning: The Image Hosting setting must be enabled for images to display on the newsletter.

diff --git a/data/interfaces/newsletters/recently_added_master.html b/data/interfaces/newsletters/recently_added_master.html index 547bd041..135c7088 100644 --- a/data/interfaces/newsletters/recently_added_master.html +++ b/data/interfaces/newsletters/recently_added_master.html @@ -13,9 +13,9 @@ service = get_img_service(include_self=True) if service == 'self-hosted' and plexpy.CONFIG.HTTP_BASE_URL: - base_url_image = plexpy.CONFIG.HTTP_BASE_URL + plexpy.HTTP_ROOT + 'newsletter/image/' - elif service and service != 'self-hosted' and preview: - base_url_image = 'newsletter/image/' + base_url_image = plexpy.CONFIG.HTTP_BASE_URL + plexpy.HTTP_ROOT + 'image/' + elif preview and service and service != 'self-hosted': + base_url_image = 'image/' else: base_url_image = '' @@ -623,7 +623,7 @@ -% if preview and service: +% if preview and service and service != 'self-hosted':

Note: Local preview images only - images will be uploaded to ${service.capitalize()} when the newsletter is sent.

% elif preview and not service:

Warning: The Image Hosting setting must be enabled for images to display on the newsletter.

diff --git a/plexpy/webserve.py b/plexpy/webserve.py index f096a34c..1112a08c 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -4032,6 +4032,15 @@ class WebInterface(object): @cherrypy.expose def image(self, *args, **kwargs): if args: + cherrypy.response.headers['Cache-Control'] = 'max-age=3600' # 1 hour + + if len(args) >= 2 and args[0] == 'images': + resource_dir = os.path.join(str(plexpy.PROG_DIR), 'data/interfaces/default/') + try: + return serve_file(path=os.path.join(resource_dir, *args), content_type='image/png') + except NotFound: + return + img_hash = args[0].split('.')[0] if img_hash in ('poster', 'cover', 'art'): @@ -4049,7 +4058,7 @@ class WebInterface(object): if img_info: kwargs.update(img_info) - return self.real_pms_image_proxy(**kwargs) + return self.real_pms_image_proxy(refresh=True, **kwargs) return @@ -5654,17 +5663,6 @@ class WebInterface(object): @cherrypy.expose def newsletter(self, *args, **kwargs): if args: - if len(args) >= 2 and args[0] == 'image': - if args[1] == 'images': - resource_dir = os.path.join(str(plexpy.PROG_DIR), 'data/interfaces/default/') - try: - return serve_file(path=os.path.join(resource_dir, *args[1:]), content_type='image/png') - except NotFound: - return - - cherrypy.response.headers['Cache-Control'] = 'max-age=2592000' # 30 days - return self.image(args[1], refresh=True) - if len(args) >= 2 and args[0] == 'id': newsletter_id_name = args[1] newsletter_uuid = None