summaryrefslogtreecommitdiffstats
path: root/core/core_builders.py
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-03-10 21:13:18 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-03-10 21:13:18 +0100
commit53701a02341eef7ec3ebca69b673d31d58760e45 (patch)
tree0a8f0d6c04955b6d66c088d4a501075bd8bfd385 /core/core_builders.py
parentaf527e53c450eb957bfa6a5446a095b190ebcae9 (diff)
parentfb299d0fb134c603eafe7737bab8d22ec0b1cd59 (diff)
downloadredot-engine-53701a02341eef7ec3ebca69b673d31d58760e45.tar.gz
Merge pull request #89361 from Repiteo/scons/with-statement
SCons: Ensure `with` statement where applicable
Diffstat (limited to 'core/core_builders.py')
-rw-r--r--core/core_builders.py172
1 files changed, 79 insertions, 93 deletions
diff --git a/core/core_builders.py b/core/core_builders.py
index b941d6a272..2f92d8474c 100644
--- a/core/core_builders.py
+++ b/core/core_builders.py
@@ -31,35 +31,31 @@ def escape_string(s):
def make_certs_header(target, source, env):
src = source[0]
dst = target[0]
- f = open(src, "rb")
- g = open(dst, "w", encoding="utf-8", newline="\n")
- buf = f.read()
- decomp_size = len(buf)
-
- # Use maximum zlib compression level to further reduce file size
- # (at the cost of initial build times).
- buf = zlib.compress(buf, zlib.Z_BEST_COMPRESSION)
-
- g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
- g.write("#ifndef CERTS_COMPRESSED_GEN_H\n")
- g.write("#define CERTS_COMPRESSED_GEN_H\n")
-
- # System certs path. Editor will use them if defined. (for package maintainers)
- path = env["system_certs_path"]
- g.write('#define _SYSTEM_CERTS_PATH "%s"\n' % str(path))
- if env["builtin_certs"]:
- # Defined here and not in env so changing it does not trigger a full rebuild.
- g.write("#define BUILTIN_CERTS_ENABLED\n")
- g.write("static const int _certs_compressed_size = " + str(len(buf)) + ";\n")
- g.write("static const int _certs_uncompressed_size = " + str(decomp_size) + ";\n")
- g.write("static const unsigned char _certs_compressed[] = {\n")
- for i in range(len(buf)):
- g.write("\t" + str(buf[i]) + ",\n")
- g.write("};\n")
- g.write("#endif // CERTS_COMPRESSED_GEN_H")
-
- g.close()
- f.close()
+ with open(src, "rb") as f, open(dst, "w", encoding="utf-8", newline="\n") as g:
+ buf = f.read()
+ decomp_size = len(buf)
+
+ # Use maximum zlib compression level to further reduce file size
+ # (at the cost of initial build times).
+ buf = zlib.compress(buf, zlib.Z_BEST_COMPRESSION)
+
+ g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
+ g.write("#ifndef CERTS_COMPRESSED_GEN_H\n")
+ g.write("#define CERTS_COMPRESSED_GEN_H\n")
+
+ # System certs path. Editor will use them if defined. (for package maintainers)
+ path = env["system_certs_path"]
+ g.write('#define _SYSTEM_CERTS_PATH "%s"\n' % str(path))
+ if env["builtin_certs"]:
+ # Defined here and not in env so changing it does not trigger a full rebuild.
+ g.write("#define BUILTIN_CERTS_ENABLED\n")
+ g.write("static const int _certs_compressed_size = " + str(len(buf)) + ";\n")
+ g.write("static const int _certs_uncompressed_size = " + str(decomp_size) + ";\n")
+ g.write("static const unsigned char _certs_compressed[] = {\n")
+ for i in range(len(buf)):
+ g.write("\t" + str(buf[i]) + ",\n")
+ g.write("};\n")
+ g.write("#endif // CERTS_COMPRESSED_GEN_H")
def make_authors_header(target, source, env):
@@ -78,42 +74,37 @@ def make_authors_header(target, source, env):
src = source[0]
dst = target[0]
- f = open(src, "r", encoding="utf-8")
- g = open(dst, "w", encoding="utf-8", newline="\n")
+ with open(src, "r", encoding="utf-8") as f, open(dst, "w", encoding="utf-8", newline="\n") as g:
+ g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
+ g.write("#ifndef AUTHORS_GEN_H\n")
+ g.write("#define AUTHORS_GEN_H\n")
- g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
- g.write("#ifndef AUTHORS_GEN_H\n")
- g.write("#define AUTHORS_GEN_H\n")
+ reading = False
- reading = False
+ def close_section():
+ g.write("\t0\n")
+ g.write("};\n")
- def close_section():
- g.write("\t0\n")
- g.write("};\n")
-
- for line in f:
- if reading:
- if line.startswith(" "):
- g.write('\t"' + escape_string(line.strip()) + '",\n')
- continue
- if line.startswith("## "):
+ for line in f:
if reading:
- close_section()
- reading = False
- for section, section_id in zip(sections, sections_id):
- if line.strip().endswith(section):
- current_section = escape_string(section_id)
- reading = True
- g.write("const char *const " + current_section + "[] = {\n")
- break
+ if line.startswith(" "):
+ g.write('\t"' + escape_string(line.strip()) + '",\n')
+ continue
+ if line.startswith("## "):
+ if reading:
+ close_section()
+ reading = False
+ for section, section_id in zip(sections, sections_id):
+ if line.strip().endswith(section):
+ current_section = escape_string(section_id)
+ reading = True
+ g.write("const char *const " + current_section + "[] = {\n")
+ break
- if reading:
- close_section()
-
- g.write("#endif // AUTHORS_GEN_H\n")
+ if reading:
+ close_section()
- g.close()
- f.close()
+ g.write("#endif // AUTHORS_GEN_H\n")
def make_donors_header(target, source, env):
@@ -140,42 +131,37 @@ def make_donors_header(target, source, env):
src = source[0]
dst = target[0]
- f = open(src, "r", encoding="utf-8")
- g = open(dst, "w", encoding="utf-8", newline="\n")
+ with open(src, "r", encoding="utf-8") as f, open(dst, "w", encoding="utf-8", newline="\n") as g:
+ g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
+ g.write("#ifndef DONORS_GEN_H\n")
+ g.write("#define DONORS_GEN_H\n")
+
+ reading = False
+
+ def close_section():
+ g.write("\t0\n")
+ g.write("};\n")
+
+ for line in f:
+ if reading >= 0:
+ if line.startswith(" "):
+ g.write('\t"' + escape_string(line.strip()) + '",\n')
+ continue
+ if line.startswith("## "):
+ if reading:
+ close_section()
+ reading = False
+ for section, section_id in zip(sections, sections_id):
+ if line.strip().endswith(section):
+ current_section = escape_string(section_id)
+ reading = True
+ g.write("const char *const " + current_section + "[] = {\n")
+ break
- g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
- g.write("#ifndef DONORS_GEN_H\n")
- g.write("#define DONORS_GEN_H\n")
-
- reading = False
-
- def close_section():
- g.write("\t0\n")
- g.write("};\n")
+ if reading:
+ close_section()
- for line in f:
- if reading >= 0:
- if line.startswith(" "):
- g.write('\t"' + escape_string(line.strip()) + '",\n')
- continue
- if line.startswith("## "):
- if reading:
- close_section()
- reading = False
- for section, section_id in zip(sections, sections_id):
- if line.strip().endswith(section):
- current_section = escape_string(section_id)
- reading = True
- g.write("const char *const " + current_section + "[] = {\n")
- break
-
- if reading:
- close_section()
-
- g.write("#endif // DONORS_GEN_H\n")
-
- g.close()
- f.close()
+ g.write("#endif // DONORS_GEN_H\n")
def make_license_header(target, source, env):