diff options
| author | J08nY | 2017-06-09 17:41:24 +0200 |
|---|---|---|
| committer | J08nY | 2017-06-09 17:41:24 +0200 |
| commit | b932ba4a32f208aa934bad8b4039e8c871b6715f (patch) | |
| tree | c93f1277353928446dccaa4e16845fe9a83372b5 /src/mailman_pgp/styles | |
| parent | 25487795779c05ff8e97680550948443924b98c0 (diff) | |
| download | mailman-pgp-b932ba4a32f208aa934bad8b4039e8c871b6715f.tar.gz mailman-pgp-b932ba4a32f208aa934bad8b4039e8c871b6715f.tar.zst mailman-pgp-b932ba4a32f208aa934bad8b4039e8c871b6715f.zip | |
Diffstat (limited to 'src/mailman_pgp/styles')
| -rw-r--r-- | src/mailman_pgp/styles/__init__.py | 0 | ||||
| -rw-r--r-- | src/mailman_pgp/styles/announce.py | 17 | ||||
| -rw-r--r-- | src/mailman_pgp/styles/base.py | 23 | ||||
| -rw-r--r-- | src/mailman_pgp/styles/discussion.py | 17 |
4 files changed, 57 insertions, 0 deletions
diff --git a/src/mailman_pgp/styles/__init__.py b/src/mailman_pgp/styles/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/mailman_pgp/styles/__init__.py diff --git a/src/mailman_pgp/styles/announce.py b/src/mailman_pgp/styles/announce.py new file mode 100644 index 0000000..b4eae80 --- /dev/null +++ b/src/mailman_pgp/styles/announce.py @@ -0,0 +1,17 @@ +"""""" + +from mailman.styles.default import LegacyAnnounceOnly +from public import public + +from mailman_pgp.styles.base import EncryptedStyle + + +@public +class AnnounceStyle(LegacyAnnounceOnly, EncryptedStyle): + name = 'encrypted-announce' + description = 'Announce only encrypted mailing list style.' + + def apply(self, mailing_list): + """See `IStyle`.""" + LegacyAnnounceOnly.apply(self, mailing_list) + EncryptedStyle.apply(self, mailing_list) diff --git a/src/mailman_pgp/styles/base.py b/src/mailman_pgp/styles/base.py new file mode 100644 index 0000000..36d11c7 --- /dev/null +++ b/src/mailman_pgp/styles/base.py @@ -0,0 +1,23 @@ +"""""" + +from public import public + +from mailman_pgp.config import config +from mailman_pgp.database import transaction +from mailman_pgp.model.list import EncryptedMailingList + + +@public +class EncryptedStyle: + def apply(self, mailing_list): + """Creates the encrypted mailing list instance for the list it's + applied to. + """ + enc_list = config.db.session.query(EncryptedMailingList).filter_by( + list_id=mailing_list.list_id).first() + if enc_list: + return + + enc_list = EncryptedMailingList(mailing_list) + with transaction(): + config.db.session.add(enc_list) diff --git a/src/mailman_pgp/styles/discussion.py b/src/mailman_pgp/styles/discussion.py new file mode 100644 index 0000000..f9db7a7 --- /dev/null +++ b/src/mailman_pgp/styles/discussion.py @@ -0,0 +1,17 @@ +"""""" + +from mailman.styles.default import LegacyDefaultStyle +from public import public + +from mailman_pgp.styles.base import EncryptedStyle + + +@public +class DiscussionStyle(LegacyDefaultStyle, EncryptedStyle): + name = 'encrypted-default' + description = 'Ordinary discussion encrypted mailing list style.' + + def apply(self, mailing_list): + """See `IStyle`.""" + LegacyDefaultStyle.apply(self, mailing_list) + EncryptedStyle.apply(self, mailing_list) |
