0
0
mirror of https://github.com/cucumber-sp/yandex-music-linux.git synced 2024-12-24 14:34:39 +03:00
yandex-music-linux/utility/extract_release_notes.py

40 lines
1.2 KiB
Python
Raw Normal View History

2024-02-09 17:35:17 +03:00
import json
2024-08-29 16:53:47 +03:00
import sys
2024-02-09 17:35:17 +03:00
if len(sys.argv) < 3:
print("Usage: python extract_release_notes.py <file_name>")
sys.exit(1)
file_name = sys.argv[1]
save_file_name = sys.argv[2]
2024-08-29 16:52:02 +03:00
2024-02-09 17:35:17 +03:00
def build_html(data, first_launch=False):
html = ""
for i, element in enumerate(data):
if element['type'] == 0:
if first_launch and i == 0:
html += f"<h3>{element['value']}</h3>".replace('\n', '<br/>')
2024-02-09 17:35:17 +03:00
continue
if element['value'] == '\n':
2024-03-14 18:38:33 +03:00
continue
2024-02-09 17:35:17 +03:00
else:
html += f"<span>{element['value']}</span>".replace('\n', '<br/>')
elif element['type'] == 8:
html += f"<{element['value']}>{build_html(element['children'])}</{element['value']}>"
return html
2024-08-29 16:52:02 +03:00
2024-02-09 17:35:17 +03:00
with open(file_name, "r", encoding='utf-8') as file:
2024-04-20 14:04:50 +03:00
translation = json.load(file)
2024-02-09 17:35:17 +03:00
notes = {}
2024-04-20 14:04:50 +03:00
element_key: str
for element_key in translation.keys():
if not element_key.startswith("desktop-release-notes."):
continue
notes[element_key] = build_html(translation[element_key], True)
2024-02-09 17:35:17 +03:00
with open(save_file_name, "w", encoding='utf-8') as file:
2024-08-29 16:52:02 +03:00
file.write(json.dumps(notes, ensure_ascii=False, indent=4))