mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-11 15:56:07 -07:00
Do not send newsletter if failed to render template
This commit is contained in:
parent
e93808381c
commit
ac207260c8
1 changed files with 14 additions and 5 deletions
|
@ -288,9 +288,9 @@ def serve_template(templatename, **kwargs):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
template = _hplookup.get_template(templatename)
|
template = _hplookup.get_template(templatename)
|
||||||
return template.render(**kwargs)
|
return template.render(**kwargs), False
|
||||||
except:
|
except:
|
||||||
return exceptions.html_error_template().render()
|
return exceptions.html_error_template().render(), True
|
||||||
|
|
||||||
|
|
||||||
def generate_newsletter_uuid():
|
def generate_newsletter_uuid():
|
||||||
|
@ -376,6 +376,7 @@ class Newsletter(object):
|
||||||
self.newsletter = None
|
self.newsletter = None
|
||||||
|
|
||||||
self.is_preview = False
|
self.is_preview = False
|
||||||
|
self.template_error = None
|
||||||
|
|
||||||
def set_config(self, config=None, default=None):
|
def set_config(self, config=None, default=None):
|
||||||
return self._validate_config(config=config, default=default)
|
return self._validate_config(config=config, default=default)
|
||||||
|
@ -421,7 +422,7 @@ class Newsletter(object):
|
||||||
|
|
||||||
self.retrieve_data()
|
self.retrieve_data()
|
||||||
|
|
||||||
newsletter_rendered = serve_template(
|
newsletter_rendered, self.template_error = serve_template(
|
||||||
templatename=self._TEMPLATE,
|
templatename=self._TEMPLATE,
|
||||||
uuid=self.uuid,
|
uuid=self.uuid,
|
||||||
subject=self.subject_formatted,
|
subject=self.subject_formatted,
|
||||||
|
@ -432,6 +433,9 @@ class Newsletter(object):
|
||||||
preview=self.is_preview
|
preview=self.is_preview
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if self.template_error:
|
||||||
|
return newsletter_rendered
|
||||||
|
|
||||||
# Force Tautulli footer
|
# Force Tautulli footer
|
||||||
if '<!-- FOOTER MESSAGE - DO NOT REMOVE -->' in newsletter_rendered:
|
if '<!-- FOOTER MESSAGE - DO NOT REMOVE -->' in newsletter_rendered:
|
||||||
newsletter_rendered = newsletter_rendered.replace(
|
newsletter_rendered = newsletter_rendered.replace(
|
||||||
|
@ -439,7 +443,7 @@ class Newsletter(object):
|
||||||
'Newsletter generated by <a href="https://tautulli.com" target="_blank" '
|
'Newsletter generated by <a href="https://tautulli.com" target="_blank" '
|
||||||
'style="text-decoration: underline;color: inherit;font-size: inherit;">Tautulli</a>.'
|
'style="text-decoration: underline;color: inherit;font-size: inherit;">Tautulli</a>.'
|
||||||
)
|
)
|
||||||
return newsletter_rendered
|
|
||||||
else:
|
else:
|
||||||
msg = ('<div style="text-align: center;padding-top: 100px;padding-bottom: 100px;">'
|
msg = ('<div style="text-align: center;padding-top: 100px;padding-bottom: 100px;">'
|
||||||
'<p style="font-family: \'Open Sans\', Helvetica, Arial, sans-serif;color: #282A2D;'
|
'<p style="font-family: \'Open Sans\', Helvetica, Arial, sans-serif;color: #282A2D;'
|
||||||
|
@ -449,11 +453,16 @@ class Newsletter(object):
|
||||||
'<a href="https://tautulli.com" target="_blank">Tautulli</a>.<br>Thank you.'
|
'<a href="https://tautulli.com" target="_blank">Tautulli</a>.<br>Thank you.'
|
||||||
'</p></div>')
|
'</p></div>')
|
||||||
newsletter_rendered = re.sub(r'(<body.*?>)', r'\1' + msg, newsletter_rendered)
|
newsletter_rendered = re.sub(r'(<body.*?>)', r'\1' + msg, newsletter_rendered)
|
||||||
return newsletter_rendered
|
|
||||||
|
return newsletter_rendered
|
||||||
|
|
||||||
def send(self):
|
def send(self):
|
||||||
self.newsletter = self.generate_newsletter()
|
self.newsletter = self.generate_newsletter()
|
||||||
|
|
||||||
|
if self.template_error:
|
||||||
|
logger.error(u"Tautulli Newsletters :: %s newsletter failed to render template. Newsletter not sent." % self.NAME)
|
||||||
|
return False
|
||||||
|
|
||||||
if not self._has_data():
|
if not self._has_data():
|
||||||
logger.warn(u"Tautulli Newsletters :: %s newsletter has no data. Newsletter not sent." % self.NAME)
|
logger.warn(u"Tautulli Newsletters :: %s newsletter has no data. Newsletter not sent." % self.NAME)
|
||||||
return False
|
return False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue