diff options
author | Brad King <brad.king@kitware.com> | 2023-05-30 14:59:01 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-05-30 14:59:10 (GMT) |
commit | b50caaf96a33dd57ff6699cbb296131be0296ce9 (patch) | |
tree | ebca7978ab99d758f3d908a5a9662b14d797e473 | |
parent | 0926ed1f69aee7fdb454e10d9b98016c3dfc4e7e (diff) | |
parent | e4f26edc1c1bb999b12df83f41459fe7174bef29 (diff) | |
download | CMake-b50caaf96a33dd57ff6699cbb296131be0296ce9.zip CMake-b50caaf96a33dd57ff6699cbb296131be0296ce9.tar.gz CMake-b50caaf96a33dd57ff6699cbb296131be0296ce9.tar.bz2 |
Merge topic 'backport-sphinx-file-encoding' into release-3.26
e4f26edc1c Tests: Always load presets schema as UTF-8
fc2b60ca6b Sphinx: Modernize UTF-8 encoding handling when updating CMake.qhp
853f069103 Sphinx: Specify encoding when opening files for title extraction
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8521
-rw-r--r-- | Tests/RunCMake/CMakePresets/validate_schema.py | 6 | ||||
-rw-r--r-- | Utilities/Sphinx/cmake.py | 5 | ||||
-rwxr-xr-x | Utilities/Sphinx/create_identifiers.py | 8 |
3 files changed, 10 insertions, 9 deletions
diff --git a/Tests/RunCMake/CMakePresets/validate_schema.py b/Tests/RunCMake/CMakePresets/validate_schema.py index b2a67fc..836147a 100644 --- a/Tests/RunCMake/CMakePresets/validate_schema.py +++ b/Tests/RunCMake/CMakePresets/validate_schema.py @@ -4,13 +4,13 @@ import os.path import sys -with open(sys.argv[1], "rb") as f: - contents = json.loads(f.read().decode("utf-8-sig")) +with open(sys.argv[1], "r", encoding="utf-8-sig") as f: + contents = json.load(f) schema_file = os.path.join( os.path.dirname(__file__), "..", "..", "..", "Help", "manual", "presets", "schema.json") -with open(schema_file) as f: +with open(schema_file, "r", encoding="utf-8") as f: schema = json.load(f) jsonschema.validate(contents, schema) diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index 47e4909..e4e06ab 100644 --- a/Utilities/Sphinx/cmake.py +++ b/Utilities/Sphinx/cmake.py @@ -224,12 +224,13 @@ class CMakeTransform(Transform): The cmake --help-*-list commands also depend on this convention. Return the title or False if the document file does not exist. """ - env = self.document.settings.env + settings = self.document.settings + env = settings.env title = self.titles.get(docname) if title is None: fname = os.path.join(env.srcdir, docname+'.rst') try: - f = open(fname, 'r') + f = open(fname, 'r', encoding=settings.input_encoding) except IOError: title = False else: diff --git a/Utilities/Sphinx/create_identifiers.py b/Utilities/Sphinx/create_identifiers.py index 0ff39a0..61dd819 100755 --- a/Utilities/Sphinx/create_identifiers.py +++ b/Utilities/Sphinx/create_identifiers.py @@ -6,12 +6,12 @@ if len(sys.argv) != 2: sys.exit(-1) name = sys.argv[1] + "/CMake.qhp" -f = open(name, "rb") +f = open(name, "r", encoding="utf-8") if not f: sys.exit(-1) -lines = f.read().decode("utf-8").splitlines() +lines = f.read().splitlines() if not lines: sys.exit(-1) @@ -47,5 +47,5 @@ for line in lines: line = part1 + prefix + "id=\"" + domain_object_type + "/" + domain_object + "\" " + part2 newlines.append(line + "\n") -f = open(name, "wb") -f.writelines(map(lambda line: line.encode("utf-8"), newlines)) +f = open(name, "w", encoding="utf-8") +f.writelines(newlines) |