|
84 | 84 | "pewpew10": ["pewpew13"],
|
85 | 85 | }
|
86 | 86 |
|
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() |
90 | 107 | for f in os.scandir("../locale"):
|
91 | 108 | 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()) |
94 | 113 |
|
95 | 114 |
|
96 | 115 | def get_board_mapping():
|
@@ -163,20 +182,23 @@ def get_current_info():
|
163 | 182 | return git_info, current_info
|
164 | 183 |
|
165 | 184 |
|
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): |
170 | 186 | # Convert the dictionary to a list of boards. Liquid templates only handle arrays.
|
171 | 187 | updated_list = []
|
172 | 188 | all_ids = sorted(updated.keys())
|
173 | 189 | for id in all_ids:
|
174 | 190 | info = updated[id]
|
175 | 191 | info["id"] = id
|
176 | 192 | updated_list.append(info)
|
| 193 | + return json.dumps(updated_list, sort_keys=True, indent=1).encode("utf-8") + b"\n" |
177 | 194 |
|
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) |
179 | 200 | # print(updated.decode("utf-8"))
|
| 201 | + |
180 | 202 | pr_title = "Automated website update for release {}".format(changes["new_release"])
|
181 | 203 | boards = ""
|
182 | 204 | if changes["new_boards"]:
|
@@ -302,6 +324,7 @@ def generate_download_info():
|
302 | 324 | create_pr(changes, current_info, git_info, user)
|
303 | 325 | else:
|
304 | 326 | print("No new release to update")
|
| 327 | + # print(create_json(current_info).decode("utf8")) |
305 | 328 |
|
306 | 329 |
|
307 | 330 | if __name__ == "__main__":
|
|
0 commit comments