From b3fddef4e06db7031037f3ada7979cd78d7ee8db Mon Sep 17 00:00:00 2001 From: Kronk Date: Sun, 18 Jun 2023 17:05:36 +0200 Subject: [PATCH] Added script to update version in headers and variables. --- header_version_updater.py | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 header_version_updater.py diff --git a/header_version_updater.py b/header_version_updater.py new file mode 100644 index 0000000..1c558bd --- /dev/null +++ b/header_version_updater.py @@ -0,0 +1,45 @@ +import re +from pathlib import Path + +version = input("New version = ").strip() + +js_file = Path("melpomene.js") +css_file = Path("melpomene.css") +js_css_match = r"(?<=/\* Version ).*(?= \*/)" + +js_variable_match = r"(?<=const MELPOMENE_VERSION = \").*(?=\";)" + +html_file = Path("melpomene.html") +demo_high_res_file = Path("demos/pepper_and_carrot_e35_highres.html") +demo_low_res_file = Path("demos/pepper_and_carrot_e35_lowres.html") +html_match = r"(?<=)" + +zoom_generator_file = Path("zooms_generator.py") +zoom_generator_match = r"(?<=# Version ).*(?=$)" + + +def replace_version(version, file_path, matcher): + with open(file=file_path, mode="r", encoding="UTF8") as file: + file_data = file.read() + + file_data = re.sub(matcher, version, file_data) + + with open(file=file_path, mode="w", encoding="UTF8") as file: + file.write(file_data) + + +if re.match(r"[.a-zA-Z\ \-0-9]{1,30}", version): + replace_version(version, js_file, js_css_match) + replace_version(version, js_file, js_variable_match) + + replace_version(version, css_file, js_css_match) + + replace_version(version, html_file, html_match) + replace_version(version, demo_high_res_file, html_match) + replace_version(version, demo_low_res_file, html_match) + + replace_version(version, zoom_generator_file, zoom_generator_match) + + print("Done") +else: + print("Input is not valid : only use letters, numbers, spaces, dots and dashes") -- 2.30.2