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