diff options
Diffstat (limited to 'src/pgpmailman/runners/outgoing.py')
| -rw-r--r-- | src/pgpmailman/runners/outgoing.py | 17 |
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 |
