summary refs log tree commit diff
path: root/synapse/push/pusher.py
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2016-05-16 18:40:29 +0100
committerDavid Baker <dave@matrix.org>2016-05-16 18:41:32 +0100
commit647781ca56c5378250605bdd3c1d69816be03e72 (patch)
tree6174344ef310df803a967273c348681b3eb1b52b /synapse/push/pusher.py
parentos.environ requires a string (diff)
downloadsynapse-647781ca56c5378250605bdd3c1d69816be03e72.tar.xz
Fix emailpusher import
Try importing at the root level rather than conditionally importing, as per comment
Diffstat (limited to 'synapse/push/pusher.py')
-rw-r--r--synapse/push/pusher.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/synapse/push/pusher.py b/synapse/push/pusher.py
index e6c0806415..de9c33b936 100644
--- a/synapse/push/pusher.py
+++ b/synapse/push/pusher.py
@@ -18,6 +18,17 @@ from httppusher import HttpPusher
 import logging
 logger = logging.getLogger(__name__)
 
+# We try importing this if we can (it will fail if we don't
+# have the optional email dependencies installed). We don't
+# yet have the config to know if we need the email pusher,
+# but importing this after daemonizing seems to fail
+# (even though a simple test of importing from a daemonized
+# process works fine)
+try:
+    from synapse.push.emailpusher import EmailPusher
+except:
+    pass
+
 
 def create_pusher(hs, pusherdict):
     logger.info("trying to create_pusher for %r", pusherdict)
@@ -28,7 +39,6 @@ def create_pusher(hs, pusherdict):
 
     logger.info("email enable notifs: %r", hs.config.email_enable_notifs)
     if hs.config.email_enable_notifs:
-        from synapse.push.emailpusher import EmailPusher
         PUSHER_TYPES["email"] = EmailPusher
         logger.info("defined email pusher type")