D3954: mail: cope with Py3 unicode antics on email addresses

yuja (Yuya Nishihara) phabricator at mercurial-scm.org
Tue Jul 17 09:25:32 EDT 2018


yuja added a comment.


  > - return email.utils.formataddr((name, addr)) +    return pycompat.bytesurl( +        email.utils.formataddr((name, addr.decode('ascii'))))
  
  Maybe this would bring unicode to Python 2.
  
  >   def addressencode(ui, address, charsets=None, display=False):
  >       '''Turns address into RFC-2047 compliant header.'''
  >       if display or not address:
  >           return address or ''
  > 
  > - name, addr = email.utils.parseaddr(address) +    name, addr = email.utils.parseaddr(pycompat.strurl(address))
  
  strurl() is too strict to convert a user input. `encoding.strfromlocal()`
  can be used instead.
  
  >   result = []
  > 
  > - for name, addr in email.utils.getaddresses(addrs): +    for name, addr in email.utils.getaddresses( +            [pycompat.strurl(a) for a in addrs]):
  
  Same here.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3954

To: durin42, #hg-reviewers
Cc: yuja, mercurial-devel


More information about the Mercurial-devel mailing list