From 3a35dfcee4a5f9b756fbe0dea06bf4699e5396da Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 4 Jul 2019 21:00:48 +0000 Subject: [PATCH] Changed our parseaddr() and formataddr() to work correctly with python3. - Legacy-Id: 16399 --- ietf/utils/mail.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index 778582f68..83d615b2f 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -217,10 +217,7 @@ def formataddr(addrtuple): address field. Does what's needed, and returns a string value suitable for use in a To: or Cc: email header field. """ - name, addr = addrtuple - if name and not isascii(name): - name = str(Header(name, 'utf-8')) - return simple_formataddr((name, addr)) + return simple_formataddr(addrtuple, charset='utf-8') def parseaddr(addr): """ @@ -230,7 +227,8 @@ def parseaddr(addr): which case a 2-tuple of ('', '') is returned. """ - addr = ''.join( [ s.decode(m) if m else str(s) for (s,m) in decode_header(addr) ] ) + if not isinstance(addr, str): + addr = ''.join( [ s.decode(m) if m else s.decode() for (s,m) in decode_header(addr) ] ) name, addr = simple_parseaddr(addr) return name, addr