diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2018-10-17 17:34:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-17 17:34:22 +0100 |
commit | f1bfe6167a5640caaf2f85a96b87e327132f3906 (patch) | |
tree | 1c1620912f5bdec15bd4f1cc43fe47a66a231b72 /synapse | |
parent | update changelog (diff) | |
parent | Put the warning blob at the top of the file (diff) | |
download | synapse-f1bfe6167a5640caaf2f85a96b87e327132f3906.tar.xz |
Merge pull request #4052 from matrix-org/rav/ship_resources_as_package_data
Ship the email templates as package_data
Diffstat (limited to '')
-rw-r--r-- | synapse/config/emailconfig.py | 36 | ||||
-rw-r--r-- | synapse/push/mailer.py | 5 | ||||
-rw-r--r-- | synapse/res/templates/mail-Vector.css (renamed from res/templates/mail-Vector.css) | 0 | ||||
-rw-r--r-- | synapse/res/templates/mail.css (renamed from res/templates/mail.css) | 0 | ||||
-rw-r--r-- | synapse/res/templates/notif.html (renamed from res/templates/notif.html) | 0 | ||||
-rw-r--r-- | synapse/res/templates/notif.txt (renamed from res/templates/notif.txt) | 0 | ||||
-rw-r--r-- | synapse/res/templates/notif_mail.html (renamed from res/templates/notif_mail.html) | 0 | ||||
-rw-r--r-- | synapse/res/templates/notif_mail.txt (renamed from res/templates/notif_mail.txt) | 0 | ||||
-rw-r--r-- | synapse/res/templates/room.html (renamed from res/templates/room.html) | 0 | ||||
-rw-r--r-- | synapse/res/templates/room.txt (renamed from res/templates/room.txt) | 0 |
10 files changed, 37 insertions, 4 deletions
diff --git a/synapse/config/emailconfig.py b/synapse/config/emailconfig.py index fe156b6930..e2582cfecc 100644 --- a/synapse/config/emailconfig.py +++ b/synapse/config/emailconfig.py @@ -13,11 +13,25 @@ # See the License for the specific language governing permissions and # limitations under the License. +from __future__ import print_function + # This file can't be called email.py because if it is, we cannot: import email.utils +import logging +import os +import sys +import textwrap from ._base import Config +logger = logging.getLogger(__name__) + +TEMPLATE_DIR_WARNING = """\ +WARNING: The email notifier is configured to look for templates in '%(template_dir)s', +but no templates could be found there. We will fall back to using the example templates; +to get rid of this warning, leave 'email.template_dir' unset. +""" + class EmailConfig(Config): def read_config(self, config): @@ -38,7 +52,6 @@ class EmailConfig(Config): "smtp_host", "smtp_port", "notif_from", - "template_dir", "notif_template_html", "notif_template_text", ] @@ -62,9 +75,24 @@ class EmailConfig(Config): self.email_smtp_host = email_config["smtp_host"] self.email_smtp_port = email_config["smtp_port"] self.email_notif_from = email_config["notif_from"] - self.email_template_dir = email_config["template_dir"] self.email_notif_template_html = email_config["notif_template_html"] self.email_notif_template_text = email_config["notif_template_text"] + + self.email_template_dir = email_config.get("template_dir") + + # backwards-compatibility hack + if ( + self.email_template_dir == "res/templates" + and not os.path.isfile( + os.path.join(self.email_template_dir, self.email_notif_template_text) + ) + ): + t = TEMPLATE_DIR_WARNING % { + "template_dir": self.email_template_dir, + } + print(textwrap.fill(t, width=80) + "\n", file=sys.stderr) + self.email_template_dir = None + self.email_notif_for_new_users = email_config.get( "notif_for_new_users", True ) @@ -113,7 +141,9 @@ class EmailConfig(Config): # require_transport_security: False # notif_from: "Your Friendly %(app)s Home Server <noreply@example.com>" # app_name: Matrix - # template_dir: res/templates + # # if template_dir is unset, uses the example templates that are part of + # # the Synapse distribution. + # #template_dir: res/templates # notif_template_html: notif_mail.html # notif_template_text: notif_mail.txt # notif_for_new_users: True diff --git a/synapse/push/mailer.py b/synapse/push/mailer.py index 1a5a10d974..b9dcfee740 100644 --- a/synapse/push/mailer.py +++ b/synapse/push/mailer.py @@ -528,7 +528,10 @@ def load_jinja2_templates(config): """ logger.info("loading jinja2") - loader = jinja2.FileSystemLoader(config.email_template_dir) + if config.email_template_dir: + loader = jinja2.FileSystemLoader(config.email_template_dir) + else: + loader = jinja2.PackageLoader('synapse', 'res/templates') env = jinja2.Environment(loader=loader) env.filters["format_ts"] = format_ts_filter env.filters["mxc_to_http"] = _create_mxc_to_http_filter(config) diff --git a/res/templates/mail-Vector.css b/synapse/res/templates/mail-Vector.css index 6a3e36eda1..6a3e36eda1 100644 --- a/res/templates/mail-Vector.css +++ b/synapse/res/templates/mail-Vector.css diff --git a/res/templates/mail.css b/synapse/res/templates/mail.css index 5ab3e1b06d..5ab3e1b06d 100644 --- a/res/templates/mail.css +++ b/synapse/res/templates/mail.css diff --git a/res/templates/notif.html b/synapse/res/templates/notif.html index 88b921ca9c..88b921ca9c 100644 --- a/res/templates/notif.html +++ b/synapse/res/templates/notif.html diff --git a/res/templates/notif.txt b/synapse/res/templates/notif.txt index a37bee9833..a37bee9833 100644 --- a/res/templates/notif.txt +++ b/synapse/res/templates/notif.txt diff --git a/res/templates/notif_mail.html b/synapse/res/templates/notif_mail.html index fcdb3109fe..fcdb3109fe 100644 --- a/res/templates/notif_mail.html +++ b/synapse/res/templates/notif_mail.html diff --git a/res/templates/notif_mail.txt b/synapse/res/templates/notif_mail.txt index 24843042a5..24843042a5 100644 --- a/res/templates/notif_mail.txt +++ b/synapse/res/templates/notif_mail.txt diff --git a/res/templates/room.html b/synapse/res/templates/room.html index 723c222d25..723c222d25 100644 --- a/res/templates/room.html +++ b/synapse/res/templates/room.html diff --git a/res/templates/room.txt b/synapse/res/templates/room.txt index 84648c710e..84648c710e 100644 --- a/res/templates/room.txt +++ b/synapse/res/templates/room.txt |