summaryrefslogtreecommitdiff
path: root/src/mailman/runners/digest.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/runners/digest.py')
-rw-r--r--src/mailman/runners/digest.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mailman/runners/digest.py b/src/mailman/runners/digest.py
index f35b42b9a..16a97eb73 100644
--- a/src/mailman/runners/digest.py
+++ b/src/mailman/runners/digest.py
@@ -55,6 +55,7 @@ class Digester:
self._charset,
header_name='Subject')
self._message = self._make_message()
+ self._digest_part = self._make_digest_part()
self._message['From'] = mlist.request_address
self._message['Subject'] = self._subject
self._message['To'] = mlist.posting_address
@@ -161,6 +162,9 @@ class MIMEDigester(Digester):
def _make_message(self):
return MultipartDigestMessage('mixed')
+ def _make_digest_part(self):
+ return MultipartDigestMessage('digest')
+
def add_toc(self, count):
"""Add the table of contents."""
toc_text = self._toc.getvalue()
@@ -177,10 +181,11 @@ class MIMEDigester(Digester):
"""Add the message to the digest."""
# Make a copy of the message object, since the RFC 1153 processing
# scrubs out attachments.
- self._message.attach(MIMEMessage(deepcopy(msg)))
+ self._digest_part.attach(MIMEMessage(deepcopy(msg)))
def finish(self):
"""Finish up the digest, producing the email-ready copy."""
+ self._message.attach(self._digest_part)
if self._mlist.digest_footer_uri is not None:
try:
footer_text = decorate(
@@ -224,6 +229,10 @@ class RFC1153Digester(Digester):
def _make_message(self):
return Message()
+ def _make_digest_part(self):
+ """Not actually used here but referenced in super().__init__()."""
+ return self._message
+
def add_toc(self, count):
"""Add the table of contents."""
print(self._toc.getvalue(), file=self._text)