summaryrefslogtreecommitdiff
path: root/src/mailman_pgp/archivers
diff options
context:
space:
mode:
authorJ08nY2017-08-07 19:58:20 +0200
committerJ08nY2017-08-07 19:58:20 +0200
commita869ebdad781ae9549681853f3581b7e315de444 (patch)
tree260cd4169a6a7fcba0b43aecc08d0b9ed430258e /src/mailman_pgp/archivers
parent52e9ef3b65b68e306f38d9d88d38334ce876b5e2 (diff)
downloadmailman-pgp-a869ebdad781ae9549681853f3581b7e315de444.tar.gz
mailman-pgp-a869ebdad781ae9549681853f3581b7e315de444.tar.zst
mailman-pgp-a869ebdad781ae9549681853f3581b7e315de444.zip
Diffstat (limited to 'src/mailman_pgp/archivers')
-rw-r--r--src/mailman_pgp/archivers/local_maildir.py51
-rw-r--r--src/mailman_pgp/archivers/local_mbox.py (renamed from src/mailman_pgp/archivers/local.py)25
2 files changed, 73 insertions, 3 deletions
diff --git a/src/mailman_pgp/archivers/local_maildir.py b/src/mailman_pgp/archivers/local_maildir.py
new file mode 100644
index 0000000..31cb6e6
--- /dev/null
+++ b/src/mailman_pgp/archivers/local_maildir.py
@@ -0,0 +1,51 @@
+# Copyright (C) 2017 Jan Jancar
+#
+# This file is a part of the Mailman PGP plugin.
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program. If not, see <http://www.gnu.org/licenses/>.
+
+"""
+Archives messages to a maildir, locally, encrypted (TBD how),
+similar to Mailman's prototype archiver.
+"""
+
+from mailman.interfaces.archiver import IArchiver
+from public import public
+from zope.interface import implementer
+
+from mailman_pgp.model.list import PGPMailingList
+
+
+@public
+@implementer(IArchiver)
+class LocalMaildirArchiver:
+ """Local PGP enabled archiver."""
+
+ name = 'pgp-maildir-local'
+ is_enabled = False
+
+ def list_url(self, mlist):
+ """See `IArchiver`."""
+ return None
+
+ def permalink(self, mlist, msg):
+ """See `IArchiver`."""
+ return None
+
+ def archive_message(self, mlist, msg):
+ """See `IArchiver`."""
+ pgp_list = PGPMailingList.for_list(mlist)
+ if not pgp_list:
+ return None
+ return None
diff --git a/src/mailman_pgp/archivers/local.py b/src/mailman_pgp/archivers/local_mbox.py
index 04d9a22..2a08c4a 100644
--- a/src/mailman_pgp/archivers/local.py
+++ b/src/mailman_pgp/archivers/local_mbox.py
@@ -16,7 +16,7 @@
# this program. If not, see <http://www.gnu.org/licenses/>.
"""
-Archives messages locally, encrypted (TBD how),
+Archives messages to a mbox, locally, encrypted (TBD how),
similar to Mailman's prototype archiver.
"""
@@ -24,9 +24,28 @@ from mailman.interfaces.archiver import IArchiver
from public import public
from zope.interface import implementer
+from mailman_pgp.model.list import PGPMailingList
+
@public
@implementer(IArchiver)
-class LocalArchiver:
+class LocalMailboxArchiver:
"""Local PGP enabled archiver."""
- pass
+
+ name = 'pgp-mbox-local'
+ is_enabled = False
+
+ def list_url(self, mlist):
+ """See `IArchiver`."""
+ return None
+
+ def permalink(self, mlist, msg):
+ """See `IArchiver`."""
+ return None
+
+ def archive_message(self, mlist, msg):
+ """See `IArchiver`."""
+ pgp_list = PGPMailingList.for_list(mlist)
+ if not pgp_list:
+ return None
+ return None