diff options
Diffstat (limited to 'src/mailman/archiving/mailarchive.py')
| -rw-r--r-- | src/mailman/archiving/mailarchive.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/mailman/archiving/mailarchive.py b/src/mailman/archiving/mailarchive.py index e61683a09..f1427dd61 100644 --- a/src/mailman/archiving/mailarchive.py +++ b/src/mailman/archiving/mailarchive.py @@ -43,16 +43,18 @@ class MailArchive: name = 'mail-archive' - @staticmethod - def list_url(mlist): + def __init__(self): + # Read our specific configuration file + self.config = config.archiver_config("mail_archive") + + def list_url(self, mlist): """See `IArchiver`.""" if mlist.archive_policy is ArchivePolicy.public: - return urljoin(config.archiver.mail_archive.base_url, + return urljoin(self.config.get("general", "base_url"), quote(mlist.posting_address)) return None - @staticmethod - def permalink(mlist, msg): + def permalink(self, mlist, msg): """See `IArchiver`.""" if mlist.archive_policy is not ArchivePolicy.public: return None @@ -62,13 +64,12 @@ class MailArchive: message_id_hash = msg.get('x-message-id-hash') if message_id_hash is None: return None - return urljoin(config.archiver.mail_archive.base_url, message_id_hash) + return urljoin(self.config.get("general", "base_url"), message_id_hash) - @staticmethod - def archive_message(mlist, msg): + def archive_message(self, mlist, msg): """See `IArchiver`.""" if mlist.archive_policy is ArchivePolicy.public: config.switchboards['out'].enqueue( msg, listname=mlist.fqdn_listname, - recipients=[config.archiver.mail_archive.recipient]) + recipients=[self.config.get("general", "recipient")]) |
