Add custom body line to formatted email

This commit is contained in:
JonnyWong16 2018-03-24 14:34:47 -07:00
parent f12de78370
commit 4aeafdae2d
7 changed files with 59 additions and 22 deletions

View file

@ -294,7 +294,7 @@ class Newsletter(object):
_DEFAULT_EMAIL_CONFIG['from_name'] = 'Tautulli Newsletter'
_DEFAULT_EMAIL_CONFIG['notifier_id'] = 0
_DEFAULT_SUBJECT = 'Tautulli Newsletter'
_DEFAULT_BODY = 'Tautulli Newsletter'
_DEFAULT_BODY = ''
_TEMPLATE_MASTER = ''
_TEMPLATE = ''
@ -389,7 +389,8 @@ class Newsletter(object):
return serve_template(
templatename=template,
uuid=self.uuid,
title=self.subject_formatted,
subject=self.subject_formatted,
body=self.body_formatted,
parameters=self.parameters,
data=self.data,
preview=self.is_preview
@ -528,7 +529,7 @@ class RecentlyAdded(Newsletter):
_DEFAULT_CONFIG = Newsletter._DEFAULT_CONFIG.copy()
_DEFAULT_CONFIG['incl_libraries'] = []
_DEFAULT_SUBJECT = 'Recently Added to {server_name}! ({end_date})'
_DEFAULT_BODY = 'View the full newsletter here: {newsletter_url}'
_DEFAULT_BODY = ''
_TEMPLATE_MASTER = 'recently_added_master.html'
_TEMPLATE = 'recently_added.html'

View file

@ -1345,13 +1345,13 @@ class CustomFormatter(Formatter):
def format_field(self, value, format_spec):
if format_spec.startswith('[') and format_spec.endswith(']'):
pattern = re.compile(r'\[(\d*):?(\d*)\]')
pattern = re.compile(r'\[(-?\d*):?(-?\d*)\]')
if re.match(pattern, format_spec): # slice
items = [x.strip() for x in unicode(value).split(',')]
slice_start, slice_end = re.search(pattern, format_spec).groups()
slice_start = max(int(slice_start), 0) if slice_start else None
slice_end = min(int(slice_end), len(items)) if slice_end else None
return ', '.join(items[slice_start:slice_end])
slice_start = helpers.cast_to_int(slice_start) or None
slice_end = helpers.cast_to_int(slice_end) or None
return ', '.join(items[slice(slice_start, slice_end)])
else:
return value
else:

View file

@ -5636,7 +5636,9 @@ class WebInterface(object):
newsletter_agent = newsletters.get_agent_class(agent_id=newsletter['agent_id'],
config=newsletter['config'],
start_date=start_date,
end_date=end_date)
end_date=end_date,
subject=newsletter['subject'],
body=newsletter['body'])
preview = (preview == 'true')
master = (master == 'true')
raw = (raw == 'true')