Re: Dropping bytes "support" in json

[email protected]
Newsgroups gmane.comp.python.devel,gmane.comp.python.mime.devel
Message-ID <20090410051902.12555.1059181741.divmod.xquotient.7720@weber.divmod.com>
On 02:38 am, [email protected] wrote:
>So, what I'm really asking is this.  Let's say you agree that there 
>are use cases for accessing a header value as either the raw encoded 
>bytes or the decoded unicode.  What should this return:
>
> >>> message['Subject']
>
>The raw bytes or the decoded unicode?

My personal preference would be to just get deprecate this API, and get 
rid of it, replacing it with a slightly more explicit one.

    message.headers['Subject']
    message.bytes_headers['Subject']
>Now, setting 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 utf-8 probably.

    message.headers['Subject'] = 'Some text'

should be equivalent to

    message.headers['Subject'] = Header('Some text')

My preference would be that

    message.headers['Subject'] = b'Some Bytes'

would simply raise an exception.  If you've got some bytes, you should 
instead do

    message.bytes_headers['Subject'] = b'Some Bytes'

or

    message.headers['Subject'] = Header(bytes=b'Some Bytes', 
encoding='utf-8')

Explicit is better than implicit, right?
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/python-python-dev%40m.gmane.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.