aboutsummaryrefslogtreecommitdiff
path: root/src/pgpmailman/runners/outgoing.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pgpmailman/runners/outgoing.py')
-rw-r--r--src/pgpmailman/runners/outgoing.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/pgpmailman/runners/outgoing.py b/src/pgpmailman/runners/outgoing.py
index d7d74bc..11118a2 100644
--- a/src/pgpmailman/runners/outgoing.py
+++ b/src/pgpmailman/runners/outgoing.py
@@ -1,11 +1,24 @@
"""The encryption-aware outgoing runner"""
+from mailman.config import config as mailman_config
from mailman.core.runner import Runner
+from mailman.email.message import Message
+from mailman.model.mailinglist import MailingList
from public import public
+from pgpmailman.config import config
+from pgpmailman.model.list import EncryptedMailingList
+
@public
class OutgoingRunner(Runner):
- def _dispose(self, mlist, msg, msgdata):
+ def _dispose(self, mlist: MailingList, msg: Message, msgdata: dict):
"""See `IRunner`."""
- pass
+ encrypted_list = config.db.query(EncryptedMailingList).filter_by(
+ list_id=mlist.list_id).first()
+ if not encrypted_list:
+ outq = config.get('queues', 'out')
+ mailman_config.switchboards[outq].enqueue(msg,
+ msgdata,
+ listid=mlist.list_id)
+ return False