8000 bpo-27513: email.utils.getaddresses() now handles Header objects (#13… · python/cpython@89f4c34 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 89f4c34

Browse files
ZackerySpytzambv
andauthored
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>
1 parent 1e651c6 commit 89f4c34

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

Lib/email/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def formataddr(pair, charset='utf-8'):
109109

110110
def getaddresses(fieldvalues):
111111
"""Return a list of (REALNAME, EMAIL) for each fieldvalue."""
112-
all = COMMASPACE.join(fieldvalues)
112+
all = COMMASPACE.join(str(v) for v in fieldvalues)
113113
a = _AddressList(all)
114114
return a.addresslist
115115

Lib/test/test_email/test_email.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3263,6 +3263,11 @@ def test_getaddresses_embedded_comment(self):
32633263
addrs = utils.getaddresses(['User ((nested comment)) <foo@bar.com>'])
32643264
eq(addrs[0][1], 'foo@bar.com')
32653265

3266+
def test_getaddresses_header_obj(self):
3267+
"""Test the handling of a Header object."""
3268+
addrs = utils.getaddresses([Header('Al Person <aperson@dom.ain>')])
3269+
self.assertEqual(addrs[0][1], 'aperson@dom.ain')
3270+
32663271
def test_make_msgid_collisions(self):
32673272
# Test make_msgid uniqueness, even with multiple threads
32683273
class MsgidsThread(Thread):
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
:func:`email.utils.getaddresses` now accepts
2+
:class:`email.header.Header` objects along with string values.
3+
Patch by Zackery Spytz.

0 commit comments

Comments
 (0)
0