summaryrefslogtreecommitdiffstats
path: root/editor/icons/editor_icons_builders.py
diff options
context:
space:
mode:
authorThaddeus Crews <repiteo@outlook.com>2024-03-10 12:09:48 -0500
committerThaddeus Crews <repiteo@outlook.com>2024-03-10 12:57:57 -0500
commitfb299d0fb134c603eafe7737bab8d22ec0b1cd59 (patch)
tree7f8bfac3259a5c6f55d09c5e041357e98b3c7fe9 /editor/icons/editor_icons_builders.py
parent0ace0a129284ffc6646b199699c1607a316fcec0 (diff)
downloadredot-engine-fb299d0fb134c603eafe7737bab8d22ec0b1cd59.tar.gz
SCons: Ensure `with` statement where applicable
Diffstat (limited to 'editor/icons/editor_icons_builders.py')
-rw-r--r--editor/icons/editor_icons_builders.py133
1 files changed, 64 insertions, 69 deletions
diff --git a/editor/icons/editor_icons_builders.py b/editor/icons/editor_icons_builders.py
index 4fe74881ed..3b2d8714d8 100644
--- a/editor/icons/editor_icons_builders.py
+++ b/editor/icons/editor_icons_builders.py
@@ -15,81 +15,76 @@ def make_editor_icons_action(target, source, env):
dst = target[0]
svg_icons = source
- icons_string = StringIO()
+ with StringIO() as icons_string, StringIO() as s:
+ for f in svg_icons:
+ fname = str(f)
- for f in svg_icons:
- fname = str(f)
+ icons_string.write('\t"')
- icons_string.write('\t"')
-
- with open(fname, "rb") as svgf:
- b = svgf.read(1)
- while len(b) == 1:
- icons_string.write("\\" + str(hex(ord(b)))[1:])
+ with open(fname, "rb") as svgf:
b = svgf.read(1)
+ while len(b) == 1:
+ icons_string.write("\\" + str(hex(ord(b)))[1:])
+ b = svgf.read(1)
+
+ icons_string.write('"')
+ if fname != svg_icons[-1]:
+ icons_string.write(",")
+ icons_string.write("\n")
+
+ s.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
+ s.write("#ifndef _EDITOR_ICONS_H\n")
+ s.write("#define _EDITOR_ICONS_H\n")
+ s.write("static const int editor_icons_count = {};\n".format(len(svg_icons)))
+ s.write("static const char *editor_icons_sources[] = {\n")
+ s.write(icons_string.getvalue())
+ s.write("};\n\n")
+ s.write("static const char *editor_icons_names[] = {\n")
+
+ # this is used to store the indices of thumbnail icons
+ thumb_medium_indices = []
+ thumb_big_indices = []
+ index = 0
+ for f in svg_icons:
+ fname = str(f)
+
+ # Trim the `.svg` extension from the string.
+ icon_name = os.path.basename(fname)[:-4]
+ # some special cases
+ if icon_name.endswith("MediumThumb"): # don't know a better way to handle this
+ thumb_medium_indices.append(str(index))
+ if icon_name.endswith("BigThumb"): # don't know a better way to handle this
+ thumb_big_indices.append(str(index))
+ if icon_name.endswith("GodotFile"): # don't know a better way to handle this
+ thumb_big_indices.append(str(index))
+
+ s.write('\t"{0}"'.format(icon_name))
+
+ if fname != svg_icons[-1]:
+ s.write(",")
+ s.write("\n")
+
+ index += 1
- icons_string.write('"')
- if fname != svg_icons[-1]:
- icons_string.write(",")
- icons_string.write("\n")
-
- s = StringIO()
- s.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
- s.write("#ifndef _EDITOR_ICONS_H\n")
- s.write("#define _EDITOR_ICONS_H\n")
- s.write("static const int editor_icons_count = {};\n".format(len(svg_icons)))
- s.write("static const char *editor_icons_sources[] = {\n")
- s.write(icons_string.getvalue())
- s.write("};\n\n")
- s.write("static const char *editor_icons_names[] = {\n")
-
- # this is used to store the indices of thumbnail icons
- thumb_medium_indices = []
- thumb_big_indices = []
- index = 0
- for f in svg_icons:
- fname = str(f)
-
- # Trim the `.svg` extension from the string.
- icon_name = os.path.basename(fname)[:-4]
- # some special cases
- if icon_name.endswith("MediumThumb"): # don't know a better way to handle this
- thumb_medium_indices.append(str(index))
- if icon_name.endswith("BigThumb"): # don't know a better way to handle this
- thumb_big_indices.append(str(index))
- if icon_name.endswith("GodotFile"): # don't know a better way to handle this
- thumb_big_indices.append(str(index))
-
- s.write('\t"{0}"'.format(icon_name))
-
- if fname != svg_icons[-1]:
- s.write(",")
- s.write("\n")
-
- index += 1
-
- s.write("};\n")
-
- if thumb_medium_indices:
- s.write("\n\n")
- s.write("static const int editor_md_thumbs_count = {};\n".format(len(thumb_medium_indices)))
- s.write("static const int editor_md_thumbs_indices[] = {")
- s.write(", ".join(thumb_medium_indices))
- s.write("};\n")
- if thumb_big_indices:
- s.write("\n\n")
- s.write("static const int editor_bg_thumbs_count = {};\n".format(len(thumb_big_indices)))
- s.write("static const int editor_bg_thumbs_indices[] = {")
- s.write(", ".join(thumb_big_indices))
s.write("};\n")
- s.write("#endif\n")
-
- with open(dst, "w", encoding="utf-8", newline="\n") as f:
- f.write(s.getvalue())
-
- s.close()
- icons_string.close()
+ if thumb_medium_indices:
+ s.write("\n\n")
+ s.write("static const int editor_md_thumbs_count = {};\n".format(len(thumb_medium_indices)))
+ s.write("static const int editor_md_thumbs_indices[] = {")
+ s.write(", ".join(thumb_medium_indices))
+ s.write("};\n")
+ if thumb_big_indices:
+ s.write("\n\n")
+ s.write("static const int editor_bg_thumbs_count = {};\n".format(len(thumb_big_indices)))
+ s.write("static const int editor_bg_thumbs_indices[] = {")
+ s.write(", ".join(thumb_big_indices))
+ s.write("};\n")
+
+ s.write("#endif\n")
+
+ with open(dst, "w", encoding="utf-8", newline="\n") as f:
+ f.write(s.getvalue())
if __name__ == "__main__":