ssoma-mda: Fix RFC-2047 decoding for partially-encoded strings
authorW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 08:12:58 +0000 (00:12 -0800)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 08:18:49 +0000 (00:18 -0800)
commit0975a37a18d69e73149c860a8ad6da471787a60a
treee4fa713c99fd86fba36dbc8cb0b39ddf7f6b8b5c
parent2368ff68826074056150b2d21a66ac2ad76370db
ssoma-mda: Fix RFC-2047 decoding for partially-encoded strings

Avoid:

  TypeError: sequence item 0: expected str instance, bytes found

When an RFC-2047-encoded string contains both an unencoded and an
encoded section.  For example:

  >>> import email.header
  >>> email.header.decode_header('Keld =?ISO-8859-1?Q?J=F8rn_Simonsen?=')
  [(b'Keld ', None), (b'J\xf8rn Simonsen', 'iso-8859-1')]

returns the decoded string in bytes but no charset information for the
first chunk.  I'm not sure what the default charset for header values
is, but RFC 2047 sets itself up to deal with non-ASCII header values
[1], so I'm guessing it's ASCII ;).

[1]: http://tools.ietf.org/html/rfc2047#section-1
ssoma-mda