Windows: Fix UTF-8 en/decode.

setup.py
Pierre-Antoine Rouby 2024-04-17 12:17:25 +02:00
parent 502c2240f7
commit 50ae49c0ec
2 changed files with 16 additions and 10 deletions

View File

@ -20,7 +20,7 @@ import os
import logging
from datetime import datetime
from tools import timer, parse_command_line, get_version
from tools import timer, parse_command_line, get_version, logger_exception
try:
# Installation allow Unix-like signal
@ -271,12 +271,15 @@ class CommandLineSolver(AbstractSolver):
return True
def _data_ready(self):
# Read process output and put lines in queue
s = self._process.readAll().data().decode()
try:
# Read process output and put lines in queue
s = self._process.readAll().data().decode('utf-8', "replace")
if self._output is not None:
for x in s.split('\n'):
self._output.put(x)
if self._output is not None:
for x in s.split('\n'):
self._output.put(x)
except Exception as e:
logger_exception(e)
def _finished(self, study, exit_code, exit_status):
if self._output is not None:

View File

@ -296,10 +296,13 @@ class SolverLogWindow(PamhyrWindow):
while self._output.qsize() != 0:
s = self._output.get()
if type(s) is str and "[ERROR]" in s:
self._log(s, color="red")
else:
self._log(s)
try:
if type(s) is str and "[ERROR]" in s:
self._log(s.encode("utf-8"), color="red")
else:
self._log(s)
except Exception as e:
logger_exception(e)
####################
# Process controle #