Hi, I sent a PR for this (and an additional fix that is needed as of yesterday):
https://lists.gnu.org/archive/html/qemu-devel/2021-09/msg04477.html Please drop this patch and prefer that series. --js On Fri, Sep 17, 2021 at 12:23 PM Alex Bennée <alex.ben...@linaro.org> wrote: > From: John Snow <js...@redhat.com> > > A few new annoyances. Of note is the new warning for an unspecified > encoding when opening a text file, which actually does indicate a > potentially real problem; see > https://www.python.org/dev/peps/pep-0597/#motivation > > Use LC_CTYPE to determine an encoding to use for interpreting QEMU's > terminal output. Note that Python states: "language code and encoding > may be None if their values cannot be determined" -- use a platform > default as a backup. > > Signed-off-by: John Snow <js...@redhat.com> > Message-Id: <20210916040955.628560-2-js...@redhat.com> > Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > Tested-by: Alex Bennée <alex.ben...@linaro.org> > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > --- > python/qemu/machine/machine.py | 9 ++++++++- > python/setup.cfg | 1 + > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/python/qemu/machine/machine.py > b/python/qemu/machine/machine.py > index a7081b1845..51b6e79a13 100644 > --- a/python/qemu/machine/machine.py > +++ b/python/qemu/machine/machine.py > @@ -19,6 +19,7 @@ > > import errno > from itertools import chain > +import locale > import logging > import os > import shutil > @@ -290,8 +291,14 @@ def get_pid(self) -> Optional[int]: > return self._subp.pid > > def _load_io_log(self) -> None: > + # Assume that the output encoding of QEMU's terminal output > + # is defined by our locale. If indeterminate, use a platform > default. > + _, encoding = locale.getlocale() > + if encoding is None: > + encoding = locale.getpreferredencoding(do_setlocale=False) > if self._qemu_log_path is not None: > - with open(self._qemu_log_path, "r") as iolog: > + with open(self._qemu_log_path, "r", > + encoding=encoding) as iolog: > self._iolog = iolog.read() > > @property > diff --git a/python/setup.cfg b/python/setup.cfg > index 83909c1c97..0f0cab098f 100644 > --- a/python/setup.cfg > +++ b/python/setup.cfg > @@ -104,6 +104,7 @@ good-names=i, > [pylint.similarities] > # Ignore imports when computing similarities. > ignore-imports=yes > +ignore-signatures=yes > > # Minimum lines number of a similarity. > # TODO: Remove after we opt in to Pylint 2.8.3. See commit msg. > -- > 2.30.2 > >