kopia lustrzana https://github.com/dgtlmoon/changedetection.io
Notification fixes - error on mailto:// when no format was specified, fixing default body and title of notifications to respect global settings (#2085)
rodzic
0d92be348a
commit
77133de1cf
|
@ -1592,6 +1592,15 @@ def notification_runner():
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from changedetectionio import notification
|
from changedetectionio import notification
|
||||||
|
# Fallback to system config if not set
|
||||||
|
if not n_object.get('notification_body') and datastore.data['settings']['application'].get('notification_body'):
|
||||||
|
n_object['notification_body'] = datastore.data['settings']['application'].get('notification_body')
|
||||||
|
|
||||||
|
if not n_object.get('notification_title') and datastore.data['settings']['application'].get('notification_title'):
|
||||||
|
n_object['notification_title'] = datastore.data['settings']['application'].get('notification_title')
|
||||||
|
|
||||||
|
if not n_object.get('notification_format') and datastore.data['settings']['application'].get('notification_format'):
|
||||||
|
n_object['notification_title'] = datastore.data['settings']['application'].get('notification_format')
|
||||||
|
|
||||||
sent_obj = notification.process_notification(n_object, datastore)
|
sent_obj = notification.process_notification(n_object, datastore)
|
||||||
|
|
||||||
|
|
|
@ -119,8 +119,8 @@ def process_notification(n_object, datastore):
|
||||||
|
|
||||||
# Get the notification body from datastore
|
# Get the notification body from datastore
|
||||||
jinja2_env = Environment(loader=BaseLoader)
|
jinja2_env = Environment(loader=BaseLoader)
|
||||||
n_body = jinja2_env.from_string(n_object.get('notification_body', default_notification_body)).render(**notification_parameters)
|
n_body = jinja2_env.from_string(n_object.get('notification_body', '')).render(**notification_parameters)
|
||||||
n_title = jinja2_env.from_string(n_object.get('notification_title', default_notification_title)).render(**notification_parameters)
|
n_title = jinja2_env.from_string(n_object.get('notification_title', '')).render(**notification_parameters)
|
||||||
n_format = valid_notification_formats.get(
|
n_format = valid_notification_formats.get(
|
||||||
n_object.get('notification_format', default_notification_format),
|
n_object.get('notification_format', default_notification_format),
|
||||||
valid_notification_formats[default_notification_format],
|
valid_notification_formats[default_notification_format],
|
||||||
|
@ -187,8 +187,8 @@ def process_notification(n_object, datastore):
|
||||||
if not 'format=' in url and (n_format == 'Text' or n_format == 'Markdown'):
|
if not 'format=' in url and (n_format == 'Text' or n_format == 'Markdown'):
|
||||||
prefix = '?' if not '?' in url else '&'
|
prefix = '?' if not '?' in url else '&'
|
||||||
# Apprise format is lowercase text https://github.com/caronc/apprise/issues/633
|
# Apprise format is lowercase text https://github.com/caronc/apprise/issues/633
|
||||||
n_format = n_format.tolower()
|
n_format = n_format.lower()
|
||||||
url = "{}{}format={}".format(url, prefix, n_format)
|
url = f"{url}{prefix}format={n_format}"
|
||||||
# If n_format == HTML, then apprise email should default to text/html and we should be sending HTML only
|
# If n_format == HTML, then apprise email should default to text/html and we should be sending HTML only
|
||||||
|
|
||||||
apobj.add(url)
|
apobj.add(url)
|
||||||
|
|
Ładowanie…
Reference in New Issue