mirror of https://github.com/python/cpython
bpo-27513: email.utils.getaddresses() now handles Header objects (#13797)
getaddresses() should be able to handle a Header object if passed one. Co-authored-by: Łukasz Langa <lukasz@langa.pl>
This commit is contained in:
parent
1e651c6ada
commit
89f4c34797
|
@ -109,7 +109,7 @@ def formataddr(pair, charset='utf-8'):
|
||||||
|
|
||||||
def getaddresses(fieldvalues):
|
def getaddresses(fieldvalues):
|
||||||
"""Return a list of (REALNAME, EMAIL) for each fieldvalue."""
|
"""Return a list of (REALNAME, EMAIL) for each fieldvalue."""
|
||||||
all = COMMASPACE.join(fieldvalues)
|
all = COMMASPACE.join(str(v) for v in fieldvalues)
|
||||||
a = _AddressList(all)
|
a = _AddressList(all)
|
||||||
return a.addresslist
|
return a.addresslist
|
||||||
|
|
||||||
|
|
|
@ -3263,6 +3263,11 @@ Foo
|
||||||
addrs = utils.getaddresses(['User ((nested comment)) <foo@bar.com>'])
|
addrs = utils.getaddresses(['User ((nested comment)) <foo@bar.com>'])
|
||||||
eq(addrs[0][1], 'foo@bar.com')
|
eq(addrs[0][1], 'foo@bar.com')
|
||||||
|
|
||||||
|
def test_getaddresses_header_obj(self):
|
||||||
|
"""Test the handling of a Header object."""
|
||||||
|
addrs = utils.getaddresses([Header('Al Person <aperson@dom.ain>')])
|
||||||
|
self.assertEqual(addrs[0][1], 'aperson@dom.ain')
|
||||||
|
|
||||||
def test_make_msgid_collisions(self):
|
def test_make_msgid_collisions(self):
|
||||||
# Test make_msgid uniqueness, even with multiple threads
|
# Test make_msgid uniqueness, even with multiple threads
|
||||||
class MsgidsThread(Thread):
|
class MsgidsThread(Thread):
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
:func:`email.utils.getaddresses` now accepts
|
||||||
|
:class:`email.header.Header` objects along with string values.
|
||||||
|
Patch by Zackery Spytz.
|
Loading…
Reference in New Issue