[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 1/2] qapi: open files in binary mode and use
Re: [Qemu-devel] [PATCH v3 1/2] qapi: open files in binary mode and use explicit decoding/encoding in common.py
Mon, 18 Jun 2018 19:54:26 +0200
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Eduardo Habkost <address@hidden> writes:
> On Mon, Jun 18, 2018 at 07:25:14AM +0200, Markus Armbruster wrote:
>> Matthias Maier <address@hidden> writes:
>> > This is a different approach to fix the locale dependent encode/decode
>> > problem in common.py utilizing the binary read/write mode [1,2], and (if
>> > a python 3 interpreter is used) with explicit decode/encode arguments
>> > .
>> Why can't we simply pass encoding='utf-8' to open()?
> This wouldn't work in Python 2.7 (where the `open()` builtin
> doesn't support the `encoding` parameter).
> io.open(..., encoding='utf-8') should work, though.
This falls apart because then f.read() returns objects of type 'unicode'
in Python 2, breaking isinstance(..., str) predicates in several places.
What I asked for is something else: wrap the version conditional around
open() instead of around the conversion from bytes to str. Coding up
the (trivial) patch is easier than explaining it in more detail than
"pass encoding='utf-8' to open()", so I did just that.
[Qemu-devel] [PATCH v3 2/2] Revert commit d4e5ec877ca, Matthias Maier, 2018/06/15