Merge pull request #1364 from fyfe/fix/prepare_addresses

getaddresses() expects a list
This commit is contained in:
Antoine Nguyen
2018-01-26 08:49:24 +01:00
committed by GitHub
2 changed files with 19 additions and 0 deletions
+2
View File
@@ -346,6 +346,8 @@ def prepare_addresses(addresses, usage="header"):
:return: a string or a list depending on usage value
"""
result = []
if isinstance(addresses, six.text_type):
addresses = [addresses]
for name, address in getaddresses(addresses):
if not address:
continue
+17
View File
@@ -184,3 +184,20 @@ class EmailAddressParserTests(SimpleTestCase):
]
output = prepare_addresses(value, usage="envelope")
self.assertEqual(output, expected_output)
def test_prepare_addresses_usage_envelope2(self):
"""Check a list of e-mail addresses is sepearted correctly."""
# value is one long string not 3 sepearte values, prepare_addresses
# should convert it to a list.
value = (
"\"Doe, John\" <doe.john@sub.example.com>;"
"\"John Smith\" <john.smith@sub.example.com>,"
"admin@sub.example.com"
)
expected_output = [
"doe.john@sub.example.com",
"john.smith@sub.example.com",
"admin@sub.example.com",
]
output = prepare_addresses(value, usage="envelope")
self.assertEqual(output, expected_output)