diff --git a/changedetectionio/flask_app.py b/changedetectionio/flask_app.py index e0ee8b83..058651dd 100644 --- a/changedetectionio/flask_app.py +++ b/changedetectionio/flask_app.py @@ -13,7 +13,6 @@ from threading import Event import datetime import flask_login from loguru import logger -import sys import os import pytz import queue @@ -317,6 +316,8 @@ def changedetection_app(config=None, datastore_o=None): @app.route("/rss", methods=['GET']) def rss(): + from jinja2 import Environment, BaseLoader + jinja2_env = Environment(loader=BaseLoader) now = time.time() # Always requires token set app_rss_token = datastore.data['settings']['application'].get('rss_access_token') @@ -381,8 +382,12 @@ def changedetection_app(config=None, datastore_o=None): include_equal=False, line_feed_sep="
") - fe.content(content="

{}

{}".format(watch_title, html_diff), - type='CDATA') + # @todo Make this configurable and also consider html-colored markup + # @todo User could decide if goes to the diff page, or to the watch link + rss_template = "\n

{{watch_title}}

\n

{{html_diff}}

\n\n" + content = jinja2_env.from_string(rss_template).render(watch_title=watch_title, html_diff=html_diff, watch_url=watch.link) + + fe.content(content=content, type='CDATA') fe.guid(guid, permalink=False) dt = datetime.datetime.fromtimestamp(int(watch.newest_history_key)) diff --git a/changedetectionio/notification.py b/changedetectionio/notification.py index b2046004..21bda720 100644 --- a/changedetectionio/notification.py +++ b/changedetectionio/notification.py @@ -152,6 +152,10 @@ def process_notification(n_object, datastore): with apprise.LogCapture(level=apprise.logging.DEBUG) as logs: for url in n_object['notification_urls']: url = url.strip() + if not url: + logger.warning(f"Process Notification: skipping empty notification URL.") + continue + logger.info(">> Process Notification: AppRise notifying {}".format(url)) url = jinja2_env.from_string(url).render(**notification_parameters)