Mercurial > hg
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')) |