On Apr 11, 2009, at 8:39 AM, Chris Withers wrote:
Barry Warsaw wrote:
message['Subject'] The raw bytes or the decoded unicode?
A header object.
Yep. You got there before I did. :)
Okay, so you've picked one. Now how do you spell the other way?
Yes for unstructured headers like Subject. For structured headers...
headers. Sometimes you have some unicode thing and
sometimes you have some bytes. You need to end up with bytes in
the ASCII range and you'd like to leave the header value unencoded
if so. But in both cases, you might have bytes or characters
outside that range, so you need an explicit encoding, defaulting to
Message.set_header('Subject', 'Some text', encoding='utf-8') Message.set_header('Subject', b'Some bytes')
Where you just want "a damned valid email and stop making my
Yes. In which case I propose we guess the encoding as 1) ascii, 2)
utf-8, 3) wtf?
Where you care about what encoding is used:
If you have bytes, for whatever reason:
...because only you know what encoding those bytes use!
So you're saying that __setitem__() should not accept raw bytes?