From 64278cc8ac6897565d72788e24a4e4bb4f0fae14 Mon Sep 17 00:00:00 2001 From: bwarsaw <> Date: Mon, 19 Sep 2005 03:08:57 +0000 Subject: process(): Patch by Mark Sapiro (slightly modified by Barry) to take preambles and epilogues in the calculation of messages sizes. --- Mailman/Handlers/Hold.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Mailman') diff --git a/Mailman/Handlers/Hold.py b/Mailman/Handlers/Hold.py index ffc0839b..fdfaa09d 100644 --- a/Mailman/Handlers/Hold.py +++ b/Mailman/Handlers/Hold.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2004 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2005 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -25,7 +25,6 @@ we do nothing. If the message must be held for approval, then the hold database is updated and any administrator notification messages are sent. Finally an exception is raised to let the pipeline machinery know that further message handling should stop. - """ import email @@ -176,6 +175,11 @@ def process(mlist, msg, msgdata): bodylen = 0 for line in email.Iterators.body_line_iterator(msg): bodylen += len(line) + for part in msg.walk(): + if part.preamble: + bodylen += len(part.preamble) + if part.epilogue: + bodylen += len(part.epilogue) if bodylen/1024.0 > mlist.max_message_size: hold_for_approval(mlist, msg, msgdata, MessageTooBig(bodylen, mlist.max_message_size)) -- cgit v1.2.3