diff options
-rw-r--r-- | Lib/email/Message.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Lib/email/Message.py b/Lib/email/Message.py index 65e3c6d..0a8d90b 100644 --- a/Lib/email/Message.py +++ b/Lib/email/Message.py @@ -350,7 +350,6 @@ class Message: Example: msg.add_header('content-disposition', 'attachment', filename='bud.gif') - """ parts = [] for k, v in _params.items(): @@ -362,6 +361,21 @@ class Message: 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 + # # These methods are silently deprecated in favor of get_content_type() and # friends (see below). They will be noisily deprecated in email 3.0. |