Skip to content

Commit 3a35dfc

Browse files
committed
Changed our parseaddr() and formataddr() to work correctly with python3.
- Legacy-Id: 16399
1 parent a3d40ac commit 3a35dfc

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

ietf/utils/mail.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,7 @@ def formataddr(addrtuple):
217217
address field. Does what's needed, and returns a string value suitable for
218218
use in a To: or Cc: email header field.
219219
"""
220-
name, addr = addrtuple
221-
if name and not isascii(name):
222-
name = str(Header(name, 'utf-8'))
223-
return simple_formataddr((name, addr))
220+
return simple_formataddr(addrtuple, charset='utf-8')
224221

225222
def parseaddr(addr):
226223
"""
@@ -230,7 +227,8 @@ def parseaddr(addr):
230227
which case a 2-tuple of ('', '') is returned.
231228
232229
"""
233-
addr = ''.join( [ s.decode(m) if m else str(s) for (s,m) in decode_header(addr) ] )
230+
if not isinstance(addr, str):
231+
addr = ''.join( [ s.decode(m) if m else s.decode() for (s,m) in decode_header(addr) ] )
234232
name, addr = simple_parseaddr(addr)
235233
return name, addr
236234

0 commit comments

Comments
 (0)