Skip to content

Commit 47801bb

Browse files
authored
Merge pull request #4483 from Neradoc/implement-issue-4470
Implement issue #4470
2 parents c81007a + 6b89883 commit 47801bb

File tree

2 files changed

+38
-28
lines changed

2 files changed

+38
-28
lines changed

tools/build_board_info.py

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,32 @@
8484
"pewpew10": ["pewpew13"],
8585
}
8686

87-
88-
def get_languages():
89-
languages = []
87+
language_allow_list = set([
88+
"ID",
89+
"de_DE",
90+
"en_US",
91+
"en_x_pirate",
92+
"es",
93+
"fil",
94+
"fr",
95+
"it_IT",
96+
"ja",
97+
"nl",
98+
"pl",
99+
"pt_BR",
100+
"sv",
101+
"zh_Latn_pinyin",
102+
])
103+
104+
105+
def get_languages(list_all = False):
106+
languages = set()
90107
for f in os.scandir("../locale"):
91108
if f.name.endswith(".po"):
92-
languages.append(f.name[:-3])
93-
return languages
109+
languages.add(f.name[:-3])
110+
if not list_all:
111+
languages = languages & language_allow_list
112+
return sorted(list(languages), key = lambda s: s.casefold())
94113

95114

96115
def get_board_mapping():
@@ -163,20 +182,23 @@ def get_current_info():
163182
return git_info, current_info
164183

165184

166-
def create_pr(changes, updated, git_info, user):
167-
commit_sha, original_blob_sha = git_info
168-
branch_name = "new_release_" + changes["new_release"]
169-
185+
def create_json(updated):
170186
# Convert the dictionary to a list of boards. Liquid templates only handle arrays.
171187
updated_list = []
172188
all_ids = sorted(updated.keys())
173189
for id in all_ids:
174190
info = updated[id]
175191
info["id"] = id
176192
updated_list.append(info)
193+
return json.dumps(updated_list, sort_keys=True, indent=1).encode("utf-8") + b"\n"
177194

178-
updated = json.dumps(updated_list, sort_keys=True, indent=1).encode("utf-8") + b"\n"
195+
196+
def create_pr(changes, updated, git_info, user):
197+
commit_sha, original_blob_sha = git_info
198+
branch_name = "new_release_" + changes["new_release"]
199+
updated = create_json(updated)
179200
# print(updated.decode("utf-8"))
201+
180202
pr_title = "Automated website update for release {}".format(changes["new_release"])
181203
boards = ""
182204
if changes["new_boards"]:
@@ -302,6 +324,7 @@ def generate_download_info():
302324
create_pr(changes, current_info, git_info, user)
303325
else:
304326
print("No new release to update")
327+
# print(create_json(current_info).decode("utf8"))
305328

306329

307330
if __name__ == "__main__":

tools/build_release_files.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,10 @@
2727
sha, version = build_info.get_version_info()
2828

2929
languages = build_info.get_languages()
30-
language_allow_list = [
31-
"ID",
32-
"de_DE",
33-
"en_US",
34-
"en_x_pirate",
35-
"es",
36-
"fil",
37-
"fr",
38-
"it_IT",
39-
"ja",
40-
"nl",
41-
"pl",
42-
"pt_BR",
43-
"sv",
44-
"zh_Latn_pinyin",
45-
]
46-
print("Note: Not building languages", set(languages) - set(language_allow_list))
30+
31+
all_languages = build_info.get_languages(list_all=True)
32+
33+
print("Note: Not building languages", set(all_languages) - set(languages))
4734

4835
exit_status = 0
4936
cores = multiprocessing.cpu_count()
@@ -53,7 +40,7 @@
5340
os.makedirs(bin_directory, exist_ok=True)
5441
board_info = all_boards[board]
5542

56-
for language in language_allow_list:
43+
for language in languages:
5744
bin_directory = "../bin/{board}/{language}".format(board=board, language=language)
5845
os.makedirs(bin_directory, exist_ok=True)
5946
start_time = time.monotonic()

0 commit comments

Comments
 (0)