From bbac4c72cf56e1079a3a395264770601b8b1c86e Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 21 Jun 2024 17:26:15 -0700 Subject: [PATCH] Update sys.stdout to use io.TextIOWrapper for utf-8 encoding. --- aider/linter.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/aider/linter.py b/aider/linter.py index 6066e0474..2bf0478b0 100644 --- a/aider/linter.py +++ b/aider/linter.py @@ -123,7 +123,7 @@ class Linter: flake_res = None original_argv = sys.argv original_stdout = sys.stdout - sys.stdout = io.StringIO() + sys.stdout = io.TextIOWrapper(io.BytesIO(), encoding='utf-8') try: sys.argv = flake8.split() + [rel_fname] dump(sys.argv) @@ -132,10 +132,12 @@ class Linter: runpy.run_module("flake8", run_name="__main__") except SystemExit as e: if e.code != 0: - errors = sys.stdout.getvalue() + sys.stdout.seek(0) + errors = sys.stdout.read() flake_res = LintResult(text=f"## Running: {' '.join(sys.argv)}\n\n" + errors, lines=[]) finally: - errors = sys.stdout.getvalue() + sys.stdout.seek(0) + errors = sys.stdout.read() sys.stdout = original_stdout sys.argv = original_argv