comparison mercurial/mail.py @ 28341:8286f551b7ee

patch: when importing from email, RFC2047-decode From/Subject headers Reported at https://bugs.debian.org/737498
author Julien Cristau <julien.cristau@logilab.fr>
date Thu, 03 Mar 2016 18:34:19 +0100
parents 10bed65ef209
children a4c5c23de1d3
comparison
equal deleted inserted replaced
28340:c100dbd593e2 28341:8286f551b7ee
330 charset and transfer-encoding accordingly.''' 330 charset and transfer-encoding accordingly.'''
331 cs = 'us-ascii' 331 cs = 'us-ascii'
332 if not display: 332 if not display:
333 s, cs = _encode(ui, s, charsets) 333 s, cs = _encode(ui, s, charsets)
334 return mimetextqp(s, 'plain', cs) 334 return mimetextqp(s, 'plain', cs)
335
336 def headdecode(s):
337 '''Decodes RFC-2047 header'''
338 uparts = []
339 for part, charset in email.Header.decode_header(s):
340 if charset is not None:
341 try:
342 uparts.append(part.decode(charset))
343 continue
344 except UnicodeDecodeError:
345 pass
346 try:
347 uparts.append(part.decode('UTF-8'))
348 continue
349 except UnicodeDecodeError:
350 pass
351 uparts.append(part.decode('ISO-8859-1'))
352 return encoding.tolocal(u' '.join(uparts).encode('UTF-8'))