mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
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.
This commit is contained in:
parent
b567392bbf
commit
229727fa07
1 changed files with 15 additions and 1 deletions
|
@ -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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue