summaryrefslogtreecommitdiff
path: root/src/mailman/archiving/mhonarc.py
diff options
context:
space:
mode:
authorAurélien Bompard2012-09-17 19:37:53 +0200
committerAurélien Bompard2012-09-17 19:37:53 +0200
commitfa7e38b649dba0c0b920c94ad001c0ae136a86e8 (patch)
treebc4551517ad502a44d52eab2d52ccf509e4ce525 /src/mailman/archiving/mhonarc.py
parentd20bb305a007f156ded813f5823fcf7ded66075b (diff)
downloadmailman-fa7e38b649dba0c0b920c94ad001c0ae136a86e8.tar.gz
mailman-fa7e38b649dba0c0b920c94ad001c0ae136a86e8.tar.zst
mailman-fa7e38b649dba0c0b920c94ad001c0ae136a86e8.zip
Diffstat (limited to 'src/mailman/archiving/mhonarc.py')
-rw-r--r--src/mailman/archiving/mhonarc.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/mailman/archiving/mhonarc.py b/src/mailman/archiving/mhonarc.py
index 7f0af6cd6..14dcc8300 100644
--- a/src/mailman/archiving/mhonarc.py
+++ b/src/mailman/archiving/mhonarc.py
@@ -46,18 +46,20 @@ class MHonArc:
name = 'mhonarc'
- @staticmethod
- def list_url(mlist):
+ def __init__(self):
+ # Read our specific configuration file
+ self.config = config.archiver_config("mhonarc")
+
+ def list_url(self, mlist):
"""See `IArchiver`."""
# XXX What about private MHonArc archives?
- return expand(config.archiver.mhonarc.base_url,
+ return expand(self.config.get("general", "base_url"),
dict(listname=mlist.fqdn_listname,
hostname=mlist.domain.url_host,
fqdn_listname=mlist.fqdn_listname,
))
- @staticmethod
- def permalink(mlist, msg):
+ def permalink(self, mlist, msg):
"""See `IArchiver`."""
# XXX What about private MHonArc archives?
# It is the LMTP server's responsibility to ensure that the message
@@ -66,14 +68,13 @@ class MHonArc:
message_id_hash = msg.get('x-message-id-hash')
if message_id_hash is None:
return None
- return urljoin(MHonArc.list_url(mlist), message_id_hash)
+ return urljoin(self.list_url(mlist), message_id_hash)
- @staticmethod
- def archive_message(mlist, msg):
+ def archive_message(self, mlist, msg):
"""See `IArchiver`."""
substitutions = config.__dict__.copy()
substitutions['listname'] = mlist.fqdn_listname
- command = expand(config.archiver.mhonarc.command, substitutions)
+ command = expand(self.config.get("general", "command"), substitutions)
proc = subprocess.Popen(
command, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
shell=True)