Skip to content

Commit 0c9a683

Browse files
committed
move board_summaries.py to tools
1 parent 008ae93 commit 0c9a683

File tree

1 file changed

+50
-32
lines changed

1 file changed

+50
-32
lines changed

docs/board_summaries.py renamed to tools/board_summaries.py

Lines changed: 50 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222
#
2323

2424
import re
25+
import sys
26+
27+
sys.path.append("../docs")
28+
2529
from shared_bindings_matrix import support_matrix_by_board
2630

2731

@@ -34,15 +38,16 @@ def module_incidence_matrix_csvs(support_matrix, rows=1000, present="1", absent=
3438
row = 0
3539
for board, info in support_matrix.items():
3640
if (row % rows) == 0:
37-
csv = ["board,branded_name,mcu,flash,port,pins," +
38-
','.join(all_modules) + '\n']
41+
csv = ["board,branded_name,mcu,flash,port,pins," + ",".join(all_modules) + "\n"]
3942
chip_pin_set = set([chip_pin for _, chip_pin in info["pins"]])
4043
n_chip_pins = len(chip_pin_set)
41-
module_incidence = [present if m in info["modules"]
42-
else absent for m in all_modules]
43-
line = f"{board},{info.get('branded_name')},{info.get('mcu')}," + \
44-
f"{info.get('flash')},{info.get('port')},{n_chip_pins}," + \
45-
','.join(module_incidence) + '\n'
44+
module_incidence = [present if m in info["modules"] else absent for m in all_modules]
45+
line = (
46+
f"{board},{info.get('branded_name')},{info.get('mcu')},"
47+
+ f"{info.get('flash')},{info.get('port')},{n_chip_pins},"
48+
+ ",".join(module_incidence)
49+
+ "\n"
50+
)
4651
csv.append(line)
4752
row += 1
4853
if (row % rows) == 0:
@@ -63,8 +68,7 @@ def frozen_incidence_matrix_csvs(support_matrix, rows=1000, present="1", absent=
6368
row = 0
6469
for board, info in support_matrix.items():
6570
if (row % rows) == 0:
66-
csv = ["board,branded_name,mcu,flash,port,pins," +
67-
",".join(all_frozen) + "\n"]
71+
csv = ["board,branded_name,mcu,flash,port,pins," + ",".join(all_frozen) + "\n"]
6872
# remove urls if present
6973
frozen = info["frozen_libraries"]
7074

@@ -73,9 +77,12 @@ def frozen_incidence_matrix_csvs(support_matrix, rows=1000, present="1", absent=
7377

7478
frozen = [f[0] if type(f) == tuple else f for f in frozen]
7579
frozen_incidence = [present if f in frozen else absent for f in all_frozen]
76-
line = f"{board},{info.get('branded_name')},{info.get('mcu')}," + \
77-
f"{info.get('flash')},{info.get('port')},{n_chip_pins}," + \
78-
",".join(frozen_incidence) + '\n'
80+
line = (
81+
f"{board},{info.get('branded_name')},{info.get('mcu')},"
82+
+ f"{info.get('flash')},{info.get('port')},{n_chip_pins},"
83+
+ ",".join(frozen_incidence)
84+
+ "\n"
85+
)
7986
csv.append(line)
8087
row += 1
8188
if (row % rows) == 0:
@@ -91,19 +98,20 @@ def summarize_pins(pins):
9198
summarizing the names in the list"""
9299
pin_prefixes = {}
93100
for p in pins:
94-
match = re.match(r'^(.*?)(\d*)$', p)
101+
match = re.match(r"^(.*?)(\d*)$", p)
95102
if match:
96103
prefix = match.group(1)
97104
n_str = match.group(2)
98105
else:
99106
raise ValueError("Cannot parse pin name")
100-
if prefix in pin_prefixes :
107+
if prefix in pin_prefixes:
101108
pin_prefixes[prefix].add(n_str)
102109
else:
103110
pin_prefixes[prefix] = {n_str}
104111

105-
return ', '.join([f"{prefix}{span_string(pin_prefixes[prefix])}"
106-
for prefix in sorted(pin_prefixes.keys())])
112+
return ", ".join(
113+
[f"{prefix}{span_string(pin_prefixes[prefix])}" for prefix in sorted(pin_prefixes.keys())]
114+
)
107115

108116

109117
def int_or_zero(s):
@@ -141,14 +149,24 @@ def board_pins_matrix_csvs(support_matrix, rows=1000):
141149
row = 0
142150
for board, info in support_matrix.items():
143151
if (row % rows) == 0:
144-
csv = ["board,branded_name,mcu,flash,port,n_board_pins,"
145-
"board_pins,n_chip_pins,chip_pins\n"]
152+
csv = [
153+
"board,branded_name,mcu,flash,port,n_board_pins,"
154+
"board_pins,n_chip_pins,chip_pins\n"
155+
]
146156
board_pins = [board_pin for board_pin, _ in info["pins"]]
147157
chip_pins = [chip_pin for _, chip_pin in info["pins"]]
148-
line = f"{board},{info.get('branded_name')},{info.get('mcu')}," + \
149-
f"{info.get('flash')},{info.get('port')}," + \
150-
str(len(set(board_pins))) + ',"' + summarize_pins(board_pins) + '",' + \
151-
str(len(set(chip_pins))) + ',"' + summarize_pins(chip_pins) + '"\n'
158+
line = (
159+
f"{board},{info.get('branded_name')},{info.get('mcu')},"
160+
+ f"{info.get('flash')},{info.get('port')},"
161+
+ str(len(set(board_pins)))
162+
+ ',"'
163+
+ summarize_pins(board_pins)
164+
+ '",'
165+
+ str(len(set(chip_pins)))
166+
+ ',"'
167+
+ summarize_pins(chip_pins)
168+
+ '"\n'
169+
)
152170
csv.append(line)
153171
row += 1
154172
if (row % rows) == 0:
@@ -159,19 +177,19 @@ def board_pins_matrix_csvs(support_matrix, rows=1000):
159177

160178

161179
def write_csvs(rows=1000, present="1", absent="0"):
162-
print('generating csvs...')
163-
s = support_matrix_by_board(use_branded_name=False, add_port=True,
164-
add_chips=True, add_pins=True,
165-
add_branded_name=True)
166-
csvs = {"modules": module_incidence_matrix_csvs(s, rows=rows,
167-
present=present, absent=absent),
168-
"frozen": frozen_incidence_matrix_csvs(s, rows=rows,
169-
present=present, absent=absent),
170-
"pins": board_pins_matrix_csvs(s, rows=rows)}
180+
print("generating csvs...")
181+
s = support_matrix_by_board(
182+
use_branded_name=False, add_port=True, add_chips=True, add_pins=True, add_branded_name=True
183+
)
184+
csvs = {
185+
"modules": module_incidence_matrix_csvs(s, rows=rows, present=present, absent=absent),
186+
"frozen": frozen_incidence_matrix_csvs(s, rows=rows, present=present, absent=absent),
187+
"pins": board_pins_matrix_csvs(s, rows=rows),
188+
}
171189
for key in csvs:
172190
for i in range(len(csvs[key])):
173191
filename = f"{key}_{i}.csv"
174-
print(f'writing {filename}')
192+
print(f"writing {filename}")
175193
with open(filename, "w") as f:
176194
f.writelines(csvs[key][i])
177195

0 commit comments

Comments
 (0)