diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman_pgp/chains/default.py | 8 | ||||
| -rw-r--r-- | src/mailman_pgp/model/address.py | 4 | ||||
| -rw-r--r-- | src/mailman_pgp/model/base.py | 17 | ||||
| -rw-r--r-- | src/mailman_pgp/model/list.py | 4 | ||||
| -rw-r--r-- | src/mailman_pgp/plugin.py | 8 | ||||
| -rw-r--r-- | src/mailman_pgp/rest/lists.py | 6 | ||||
| -rw-r--r-- | src/mailman_pgp/rules/signature.py | 9 | ||||
| -rw-r--r-- | src/mailman_pgp/runners/incoming.py | 4 | ||||
| -rw-r--r-- | src/mailman_pgp/runners/outgoing.py | 4 | ||||
| -rw-r--r-- | src/mailman_pgp/styles/base.py | 8 |
10 files changed, 42 insertions, 30 deletions
diff --git a/src/mailman_pgp/chains/default.py b/src/mailman_pgp/chains/default.py index 27ee190..e55e0d3 100644 --- a/src/mailman_pgp/chains/default.py +++ b/src/mailman_pgp/chains/default.py @@ -25,11 +25,11 @@ from zope.interface import implementer @public @implementer(IChain) -class EncryptedChain: - """Default encrypted chain.""" +class PGPChain: + """Default PGP chain.""" - name = 'encrypted-posting-chain' - description = _('The encrypted moderation chain.') + name = 'pgp-posting-chain' + description = _('The PGP enabled moderation chain.') _link_descriptions = ( ('signature', LinkAction.jump, 'moderation'), diff --git a/src/mailman_pgp/model/address.py b/src/mailman_pgp/model/address.py index 3ef95b4..60c6e2f 100644 --- a/src/mailman_pgp/model/address.py +++ b/src/mailman_pgp/model/address.py @@ -28,8 +28,8 @@ from mailman_pgp.config import config from mailman_pgp.model.base import Base -class EncryptedAddress(Base): - __tablename__ = 'encrypted_addresses' +class PGPAddress(Base): + __tablename__ = 'pgp_addresses' id = Column(Integer, primary_key=True) email = Column(SAUnicode, index=True) diff --git a/src/mailman_pgp/model/base.py b/src/mailman_pgp/model/base.py index 0a87a53..2ccc7e5 100644 --- a/src/mailman_pgp/model/base.py +++ b/src/mailman_pgp/model/base.py @@ -18,11 +18,18 @@ """""" from public import public -from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.ext.declarative import as_declarative +from mailman_pgp.database import query -Base = declarative_base() -public(Base=Base) -from mailman_pgp.model.address import EncryptedAddress # noqa -from mailman_pgp.model.list import EncryptedMailingList # noqa +@public +@as_declarative() +class Base: + + def query(self): + return query(self.__class__) + + +from mailman_pgp.model.address import PGPAddress # noqa +from mailman_pgp.model.list import PGPMailingList # noqa diff --git a/src/mailman_pgp/model/list.py b/src/mailman_pgp/model/list.py index 4a25f0a..84dd1a8 100644 --- a/src/mailman_pgp/model/list.py +++ b/src/mailman_pgp/model/list.py @@ -34,8 +34,8 @@ from mailman_pgp.pgp.keygen import ListKeyGenerator @public -class EncryptedMailingList(Base): - __tablename__ = 'encrypted_lists' +class PGPMailingList(Base): + __tablename__ = 'pgp_lists' id = Column(Integer, primary_key=True) list_id = Column(SAUnicode, index=True) diff --git a/src/mailman_pgp/plugin.py b/src/mailman_pgp/plugin.py index 37b4304..95006f8 100644 --- a/src/mailman_pgp/plugin.py +++ b/src/mailman_pgp/plugin.py @@ -24,8 +24,8 @@ from zope.event import classhandler from zope.interface import implementer from mailman_pgp.config import config -from mailman_pgp.database import Database, transaction -from mailman_pgp.model.list import EncryptedMailingList +from mailman_pgp.database import Database, query, transaction +from mailman_pgp.model.list import PGPMailingList from mailman_pgp.pgp import PGP from mailman_pgp.rest.root import RESTRoot @@ -33,6 +33,8 @@ from mailman_pgp.rest.root import RESTRoot @public @implementer(IPlugin) class PGPMailman: + """PGP plugin for Mailman!""" + def pre_hook(self): """See `IPlugin`.""" config.load(self.name) @@ -50,7 +52,7 @@ class PGPMailman: @classhandler.handler(ListDeletedEvent) def on_delete(mlist): - encrypted_list = config.db.session.query(EncryptedMailingList).filter_by( + encrypted_list = query(PGPMailingList).filter_by( list_id=mlist.list_id).first() if encrypted_list: with transaction() as session: diff --git a/src/mailman_pgp/rest/lists.py b/src/mailman_pgp/rest/lists.py index 29d510d..0853a35 100644 --- a/src/mailman_pgp/rest/lists.py +++ b/src/mailman_pgp/rest/lists.py @@ -23,7 +23,7 @@ from public import public from mailman_pgp.config import config from mailman_pgp.database import query -from mailman_pgp.model.list import EncryptedMailingList +from mailman_pgp.model.list import PGPMailingList class _EncryptedBase(CollectionMixin): @@ -44,7 +44,7 @@ class _EncryptedBase(CollectionMixin): def _get_collection(self, request): """See `CollectionMixin`.""" - return query(EncryptedMailingList).all() + return query(PGPMailingList).all() @public @@ -58,7 +58,7 @@ class AllEncryptedLists(_EncryptedBase): @public class AnEncryptedList(_EncryptedBase): def __init__(self, list_id): - self._mlist = query(EncryptedMailingList).filter_by( + self._mlist = query(PGPMailingList).filter_by( list_id=list_id).first() def on_get(self, request, response): diff --git a/src/mailman_pgp/rules/signature.py b/src/mailman_pgp/rules/signature.py index 28d05e4..27544a2 100644 --- a/src/mailman_pgp/rules/signature.py +++ b/src/mailman_pgp/rules/signature.py @@ -19,11 +19,14 @@ from mailman.core.i18n import _ from mailman.interfaces.rules import IRule +from mailman.interfaces.usermanager import IUserManager from public import public +from zope.component import getUtility from zope.interface import implementer from mailman_pgp.database import query -from mailman_pgp.model.list import EncryptedMailingList +from mailman_pgp.model.address import PGPAddress +from mailman_pgp.model.list import PGPMailingList from mailman_pgp.pgp.wrapper import PGPWrapper @@ -47,10 +50,10 @@ class Signature: def check(self, mlist, msg, msgdata): """See `IRule`.""" - enc_list = query(EncryptedMailingList).filter_by( + enc_list = query(PGPMailingList).filter_by( list_id=mlist.list_id).first() if enc_list is None: - raise ValueError('Encrypted mailing list not found.') + raise ValueError('PGP enabled mailing list not found.') wrapped = PGPWrapper(msg) if not wrapped.is_signed(): diff --git a/src/mailman_pgp/runners/incoming.py b/src/mailman_pgp/runners/incoming.py index 1dbf8c9..1c602b1 100644 --- a/src/mailman_pgp/runners/incoming.py +++ b/src/mailman_pgp/runners/incoming.py @@ -25,7 +25,7 @@ from public import public from mailman_pgp.config import config from mailman_pgp.database import query -from mailman_pgp.model.list import EncryptedMailingList +from mailman_pgp.model.list import PGPMailingList from mailman_pgp.pgp.wrapper import PGPWrapper @@ -35,7 +35,7 @@ class IncomingRunner(Runner): """See `IRunner`.""" # Is the message for an encrypted mailing list? If not, pass to default # incoming runner. If yes, go on. - encrypted_list = query(EncryptedMailingList).filter_by( + encrypted_list = query(PGPMailingList).filter_by( list_id=mlist.list_id).first() if not encrypted_list: inq = config.get('queues', 'in') diff --git a/src/mailman_pgp/runners/outgoing.py b/src/mailman_pgp/runners/outgoing.py index e566769..0fc9378 100644 --- a/src/mailman_pgp/runners/outgoing.py +++ b/src/mailman_pgp/runners/outgoing.py @@ -25,14 +25,14 @@ from public import public from mailman_pgp.config import config from mailman_pgp.database import query -from mailman_pgp.model.list import EncryptedMailingList +from mailman_pgp.model.list import PGPMailingList @public class OutgoingRunner(Runner): def _dispose(self, mlist: MailingList, msg: Message, msgdata: dict): """See `IRunner`.""" - encrypted_list = query(EncryptedMailingList).filter_by( + encrypted_list = query(PGPMailingList).filter_by( list_id=mlist.list_id).first() if not encrypted_list: outq = config.get('queues', 'out') diff --git a/src/mailman_pgp/styles/base.py b/src/mailman_pgp/styles/base.py index e78ce97..c0f70f4 100644 --- a/src/mailman_pgp/styles/base.py +++ b/src/mailman_pgp/styles/base.py @@ -21,7 +21,7 @@ from public import public from mailman_pgp.config import config from mailman_pgp.database import query, transaction -from mailman_pgp.model.list import EncryptedMailingList +from mailman_pgp.model.list import PGPMailingList @public @@ -30,12 +30,12 @@ class EncryptedStyle: """Creates the encrypted mailing list instance for the list it's applied to. """ - enc_list = query(EncryptedMailingList).filter_by( + enc_list = query(PGPMailingList).filter_by( list_id=mailing_list.list_id).first() if enc_list: return - enc_list = EncryptedMailingList(mailing_list) + enc_list = PGPMailingList(mailing_list) with transaction(): config.db.session.add(enc_list) - mailing_list.posting_chain = 'encrypted-posting-chain' + mailing_list.posting_chain = 'pgp-posting-chain' |
