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

View File

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