From fc1267fe5532813c8d20265f8848d5a9324dec87 Mon Sep 17 00:00:00 2001 From: Marc-Philip Date: Sun, 30 Jun 2024 18:48:55 +0200 Subject: [PATCH] massage file handling --- pio-scripts/patch_apply.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pio-scripts/patch_apply.py b/pio-scripts/patch_apply.py index 5734c4a..0091f3c 100644 --- a/pio-scripts/patch_apply.py +++ b/pio-scripts/patch_apply.py @@ -28,15 +28,17 @@ def replaceInFile(in_file, out_file, text, subs, flags=0): Taken from https://www.studytonight.com/python-howtos/search-and-replace-a-text-in-a-file-in-python """ if os.path.exists(in_file): - with open(in_file, "rb") as infile: - with open(out_file, "wb") as outfile: - #read the file contents - file_contents = infile.read() - text_pattern = re.compile(re.escape(text), flags) - file_contents = text_pattern.sub(subs, file_contents.decode('utf-8')) - outfile.seek(0) - outfile.truncate() - outfile.write(file_contents.encode()) + #read the file contents + with open(in_file, "r", encoding="utf-8") as infile: + file_contents = infile.read() + + # do replacement + text_pattern = re.compile(re.escape(text), flags) + file_contents = text_pattern.sub(subs, file_contents) + + # write the result + with open(out_file, "w", encoding="utf-8") as outfile: + outfile.write(file_contents) def main(): if (env.GetProjectOption('custom_patches', '') == ''):