summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorklm1998-09-30 17:03:44 +0000
committerklm1998-09-30 17:03:44 +0000
commit4644b4ba0afaca2436cd0221765635b113fceab5 (patch)
treee3bf157bec228a4f1327a2dd55a259c3285f28a7
parent3f806409ad7c379993f87a69f018d687664c436f (diff)
downloadmailman-4644b4ba0afaca2436cd0221765635b113fceab5.tar.gz
mailman-4644b4ba0afaca2436cd0221765635b113fceab5.tar.zst
mailman-4644b4ba0afaca2436cd0221765635b113fceab5.zip
-rw-r--r--Mailman/Message.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/Mailman/Message.py b/Mailman/Message.py
index cc3fe2916..45c355c9d 100644
--- a/Mailman/Message.py
+++ b/Mailman/Message.py
@@ -121,17 +121,19 @@ class IncomingMessage(rfc822.Message):
def SetHeader(self, name, value, crush_duplicates=1):
# Well, we crush dups in the dict no matter what...
name = "%s%s" % (name[0], name[1:])
+ newheader = not self.dict.has_key(string.lower(name))
self.dict[string.lower(name)] = value
if value[-1] <> '\n':
value = value + '\n'
- if not crush_duplicates:
+ if not crush_duplicates or newheader:
self.headers.append('%s: %s' % (name, value))
return
- for i in range(len(self.headers)):
- if (string.lower(self.headers[i][:len(name)+1]) ==
- string.lower(name) + ':'):
- self.headers[i] = '%s: %s' % (name, value)
+ else:
+ for i in range(len(self.headers)):
+ if (string.lower(self.headers[i][:len(name)+1]) ==
+ string.lower(name) + ':'):
+ self.headers[i] = '%s: %s' % (name, value)
# XXX Eventually (1.5.1?) Python rfc822.Message() will have its own
# __delitem__.