Skip to content

Commit f4a88bb

Browse files
committed
Use to close file handles
1 parent 32b8d48 commit f4a88bb

7 files changed

Lines changed: 31 additions & 42 deletions

File tree

build_parameters.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,10 @@ def handle_starttag(self, tag, attrs):
213213
page_links = fetch_vehicle_subfolders(firmware_url + f)
214214
for folder in page_links: # Non clever way to filter the strings insert by makehtml.py, unwanted folders, and so.
215215
version_folder = str(folder)
216-
if version_folder.find("stable") > 0 and not version_folder.endswith("stable"): # If finish with
217-
stableFirmwares.append(firmware_url[:-1] + version_folder[10:-2])
218-
elif version_folder.find("latest") > 0 :
219-
stableFirmwares.append(firmware_url[:-1] + version_folder[10:-2])
220-
elif version_folder.find("beta") > 0:
216+
if "stable" in version_folder and not version_folder.endswith("stable"): # If finish with
221217
stableFirmwares.append(firmware_url[:-1] + version_folder[10:-2])
218+
elif "beta" in version_folder or "latest" in version_folder:
219+
stableFirmwares.append(firmware_url[:-1] + version_folder[10:-2]) # noqa: SIM114
222220

223221
return stableFirmwares # links for the firmwares folders
224222

@@ -350,8 +348,8 @@ def replace_anchors(source_file, dest_file, version_tag):
350348
For each parameter file generate by param_parse.py, it inserts a version tag in anchors
351349
to do not make confusing in sphinx toctrees.
352350
"""
353-
file_in = open(source_file, "r")
354-
file_out = open(dest_file, "w")
351+
file_in = open(source_file, "r") # noqa: SIM115
352+
file_out = open(dest_file, "w") # noqa: SIM115
355353
found_original_title = False
356354
if "latest" not in version_tag:
357355
file_out.write(':orphan:\n\n')
@@ -414,10 +412,8 @@ def replace_anchors(source_file, dest_file, version_tag):
414412

415413
# create a filename for new parameters file
416414
filename = "parameters-" + vehicle
417-
if ("beta" in version or "rc" in version): # Plane uses BETA, Copter and Rover uses RCn
415+
if "latest" in version or "beta" in version or "rc" in version: # Plane uses BETA, Copter and Rover uses RCn
418416
filename += "-" + version + ".rst"
419-
elif ("latest" in version):
420-
filename += "-" + version + ".rst"
421417
else:
422418
filename += "-stable-" + version + ".rst"
423419

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ line-length = 127
99
lint.extend-select = [
1010
"FURB", # refurb
1111
"Q003", # avoidable-escaped-quote
12+
"SIM", # flake8-simplify
1213
"UP031", # printf-string-formatting
1314
"UP032", # f-string
1415
]

rst_table.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,13 @@ def tablify_row(rowheading, row, widths, height):
1919
rowheading_line = rowheading_lines[i]
2020
out_line += joiner + " " + rowheading_line + " " * (widths[0] - len(rowheading_line) - 1)
2121
joiner = "#"
22-
j = 0
23-
for item in row_lines:
22+
for j, item in enumerate(row_lines):
2423
widthnum = j
2524
if rowheading is not None:
2625
widthnum += 1
2726
line = item[i]
2827
out_line += joiner + " " + line + " " * (widths[widthnum] - len(line) - 1)
2928
joiner = "|"
30-
j += 1
3129
out_line += "|"
3230
out_lines.append(out_line)
3331
return "\n".join(out_lines)
@@ -77,16 +75,14 @@ def tablify_calc_row_widths_heights(rows, rowheadings, headings):
7775
if rowheadings is not None:
7876
values_to_check.append(all_rowheadings[rownum])
7977
values_to_check.extend(row[:])
80-
colnum = 0
81-
for value in values_to_check:
78+
for colnum, value in enumerate(values_to_check):
8279
height = len(value.split("\n"))
8380
if height > heights[rownum]:
8481
heights[rownum] = height
8582
longest_line = longest_line_in_string(value)
8683
width = longest_line + 2 # +2 for leading/trailing ws
8784
if width > widths[colnum]:
8885
widths[colnum] = width
89-
colnum += 1
9086
return (widths, heights)
9187

9288

scripts/build_motor_diagrams.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,9 +361,7 @@ def handle_av_tails(layout, motor_element, number_element, letter_element, x, y)
361361
return
362362
x_scale = -1 if x < 0 and "v" not in layout["TypeName"].lower() else 1
363363
y_scale = -1
364-
if x < 0 and "v" in layout["TypeName"].lower():
365-
y_scale = 1
366-
elif "v" not in layout["TypeName"].lower():
364+
if x < 0 and "v" in layout["TypeName"].lower() or "v" not in layout["TypeName"].lower():
367365
y_scale = 1
368366
motor_element.set("style", f"transform: rotate3d({x_scale}, {y_scale}, 0, 45deg)")
369367
number_element.set("style", f"transform: rotate3d({x_scale}, {y_scale}, 0, 45deg)")

scripts/cap_params.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414

1515
for f in args.files:
1616
print(f"Processing {f}")
17-
txt = open(f, 'r').read()
17+
with open(f) as in_file:
18+
txt = in_file.read()
1819
matches = re.findall(r'[,.\s][A-Z][A-Z0-9]+_[A-Z_]+[,.\s]', txt)
1920
matches = re.findall(r'[,.\s][A-Z]+_[A-Z_]+[,.\s]', txt)
2021
changed = False
@@ -29,4 +30,5 @@
2930
else:
3031
print(f"Found [{s}]")
3132
if changed:
32-
open(f, 'w').write(txt)
33+
with open(f, 'w') as out_file:
34+
out_file.write(txt)

scripts/rename_params.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525

2626

2727
def load_param_map(fname):
28-
lines = open(fname, 'r').readlines()
28+
with open(fname) as in_file:
29+
lines = in_file.readlines()
2930
ret = {}
3031
for line in lines:
3132
if line.startswith("#"):
@@ -47,14 +48,15 @@ def process_file(fname, param_map):
4748
print(f"Skipping common file {fname}")
4849
return
4950
needs_write = False
50-
txt = open(fname, "r").read()
51+
with open(fname) as in_file:
52+
txt = in_file.read()
5153

5254
replacements = [":ref:`PARAMNAME <PARAMNAME>`",
5355
":ref:`PARAMNAME<PARAMNAME>`"]
5456
if args.nonref:
5557
replacements.extend(["PARAMNAME"])
5658

57-
for old_name in param_map.keys():
59+
for old_name in param_map:
5860
new_name = param_map[old_name]
5961
for r in replacements:
6062
p1 = r.replace("PARAMNAME", old_name)
@@ -65,7 +67,8 @@ def process_file(fname, param_map):
6567
if not needs_write:
6668
return
6769
print(f"Updating {fname}")
68-
open(fname, "w").write(txt)
70+
with open(fname, "w") as out_file:
71+
out_file.write(txt)
6972

7073

7174
param_map = load_param_map(args.param_map)

update.py

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ def sphinx_make(site, parallel, fast):
287287
continue
288288
if wiki == 'frontend':
289289
continue
290-
if site is not None and not site == wiki:
290+
if site is not None and site != wiki:
291291
continue
292292
p = multiprocessing.Process(target=build_one, args=(wiki, fast))
293293
p.start()
@@ -479,9 +479,8 @@ def copy_common_source_files(start_dir=COMMON_DIR, clean_common=False):
479479
if file.endswith(".rst"):
480480
# debug(" FILE: %s" % file)
481481
source_file_path = os.path.join(root, file)
482-
source_file = open(source_file_path, 'r', encoding='utf-8')
483-
source_content = source_file.read()
484-
source_file.close()
482+
with open(source_file_path, encoding='utf-8') as source_file:
483+
source_content = source_file.read()
485484
targets = get_copy_targets(source_content)
486485
for wiki in targets:
487486
content = strip_content(source_content, wiki)
@@ -512,9 +511,8 @@ def copy_common_source_files(start_dir=COMMON_DIR, clean_common=False):
512511
shutil.copy2(src, dst)
513512
elif file.endswith(".js"):
514513
source_file_path = os.path.join(root, file)
515-
source_file = open(source_file_path, 'r', encoding='utf-8')
516-
source_content = source_file.read()
517-
source_file.close()
514+
with open(source_file_path, encoding='utf-8') as source_file:
515+
source_content = source_file.read()
518516
targets = get_copy_targets(source_content)
519517
for wiki in targets:
520518
content = strip_content(source_content, wiki)
@@ -885,14 +883,15 @@ def create_features_pages(site):
885883
# fetch and load most-recently-built features.json
886884
remove_if_exists("features.json.gz")
887885
fetch_url("https://firmware.ardupilot.org/features.json.gz")
888-
features_json = json.load(gzip.open("features.json.gz"))
886+
with gzip.open("features.json.gz") as in_file:
887+
features_json = json.load(in_file)
889888
if features_json["format-version"] != "1.0.0":
890889
progress("bad format version")
891890
return
892891
features = features_json["features"]
893892

894893
# progress("features: (%s)" % str(features))
895-
for wiki in WIKI_NAME_TO_VEHICLE_NAME.keys():
894+
for wiki in WIKI_NAME_TO_VEHICLE_NAME:
896895
debug(wiki)
897896
if site is not None and site != wiki:
898897
continue
@@ -943,10 +942,7 @@ def create_features_page(features, build_options_by_define, vehicletype):
943942
# mismatch between build_options.py and features.json
944943
progress(f"feature {feature} ({platform_key},{vehicletype}) not in build_options.py")
945944
continue
946-
if feature_in:
947-
some_list = sorted_platform_features_in
948-
else:
949-
some_list = sorted_platform_features_not_in
945+
some_list = sorted_platform_features_in if feature_in else sorted_platform_features_not_in
950946
some_list.append((build_options.category, feature))
951947

952948
sorted_platform_features = (
@@ -965,10 +961,7 @@ def create_features_page(features, build_options_by_define, vehicletype):
965961
# for now, do not include features that are on the
966962
# board, just those that aren't, per Henry's request:
967963
rows.append(row)
968-
if len(rows) == 0:
969-
t = ""
970-
else:
971-
t = rst_table.tablify(rows, headings=column_headings)
964+
t = rst_table.tablify(rows, headings=column_headings) if rows else ""
972965
underline = "-" * len(platform_key)
973966
all_tables += (f'''
974967
.. _{reference_for_board(platform_key)}:

0 commit comments

Comments
 (0)