On Mon, Jan 6, 2014 at 12:14 AM, Mark Lawrence <breamore...@yahoo.co.uk> wrote: > http://lucumr.pocoo.org/2014/1/5/unicode-in-2-and-3/ > > Please don't shoot the messenger :)
Most of that is tiresome reiterations of the same arguments ("It worked fine, there were just a few problems" - which means that you haven't thought through text vs bytes properly; the switch to Py3 highlights a problem that was already there, which means that Py3 showed up what was already a problem - sounds a bit like Romans 7 to me), plus complaints that have been heard elsewhere, like the encode/decode methods and the removal of codecs that aren't str<->bytes. (Don't know if that one will ever be resolved, but it's not enough to say that Python 3 "got it wrong". As we've seen from 3.3, there has been a progressive improvement in compatibility between Py2 and Py3. Maybe 3.5 will recreate some of these things people are moaning about the lack of, which would then prove that the Py3 model isn't fundamentally flawed by their loss. Anyhow.) But this bit looks odd: """ For instance passing a urllib request object to Flask's JSON parse function breaks on Python 3 but works on Python 2 as a result of this: >>> from urllib.request import urlopen >>> r = urlopen('https://pypi.python.org/pypi/Flask/json') >>> from flask import json >>> json.load(r) Traceback (most recent call last): File "decoder.py", line 368, in raw_decode StopIteration During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: No JSON object could be decoded """ Why is a StopIteration bubbling up? (I don't have Flask, so I can't verify this.) Is it as simple as "this should be raising from None", or is there something else going on? ChrisA -- https://mail.python.org/mailman/listinfo/python-list