Mailing List Archive

python/dist/src/Lib/email Message.py,1.20,1.21
Update of /cvsroot/python/python/dist/src/Lib/email
In directory usw-pr-cvs1:/tmp/cvs-serv20398

Modified Files:
Message.py
Log Message:
replace_header(): New method given by Skip Montanaro in SF patch
#601959. Modified slightly by Barry (who added the KeyError in case
the header is missing.


Index: Message.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/email/Message.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** Message.py 27 Aug 2002 22:34:44 -0000 1.20
--- Message.py 6 Sep 2002 03:38:12 -0000 1.21
***************
*** 351,355 ****

msg.add_header('content-disposition', 'attachment', filename='bud.gif')
-
"""
parts = []
--- 351,354 ----
***************
*** 362,365 ****
--- 361,379 ----
parts.insert(0, _value)
self._headers.append((_name, SEMISPACE.join(parts)))
+
+ def replace_header(self, _name, _value):
+ """Replace a header.
+
+ Replace the first matching header found in the message, retaining
+ header order and case. If no matching header was found, a KeyError is
+ raised.
+ """
+ _name = _name.lower()
+ for i, (k, v) in zip(range(len(self._headers)), self._headers):
+ if k.lower() == _name:
+ self._headers[i] = (k, _value)
+ break
+ else:
+ raise KeyError, _name

#