From 7826e1ced60b17e8dbd74310e8efc8249c6655f6 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 5 Jan 2023 14:15:44 -0500 Subject: [PATCH] Preprocess files in UTF-8 mode Some (?) Python versions assume that text files are encoded as 7-bit ASCII and abort when encountering other encoding. Some of podman's markdown documentation files are encoded as UTF-8, and this needs to be specified explicitly when opening files. Closes https://github.com/containers/podman/issues/16996. [NO NEW TESTS NEEDED] Signed-off-by: Erik Schnetter --- hack/markdown-preprocess | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hack/markdown-preprocess b/hack/markdown-preprocess index 1d97508be7..119799bacf 100755 --- a/hack/markdown-preprocess +++ b/hack/markdown-preprocess @@ -38,7 +38,7 @@ class Preprocessor(): outfile = os.path.splitext(infile)[0] outfile_tmp = outfile + '.tmp.' + str(os.getpid()) - with open(infile, 'r') as fh_in, open(outfile_tmp, 'w') as fh_out: + with open(infile, 'r', encoding='utf-8') as fh_in, open(outfile_tmp, 'w', encoding='utf-8') as fh_out: for line in fh_in: # '@@option foo' -> include file options/foo.md if line.startswith('@@option '): @@ -71,7 +71,7 @@ class Preprocessor(): """ for optionfile in self.used_by: tmpfile = optionfile + '.tmp' - with open(optionfile, 'r') as fh_in, open(tmpfile, 'w') as fh_out: + with open(optionfile, 'r', encoding='utf-8') as fh_in, open(tmpfile, 'w', encoding='utf-8') as fh_out: fh_out.write("####> This option file is used in:\n") used_by = ', '.join(x for x in self.used_by[optionfile]) fh_out.write(f"####> podman {used_by}\n") @@ -96,7 +96,7 @@ class Preprocessor(): # treats them as one line and will unwantedly render the # comment in its output. fh_out.write("\n[//]: # (BEGIN included file " + path + ")\n") - with open(path, 'r') as fh_included: + with open(path, 'r', encoding='utf-8') as fh_included: for opt_line in fh_included: if opt_line.startswith('####>'): continue