import sys import re from pathlib import Path PATH_ROOT = Path(__file__).parent.absolute() ENCODING = 'UTF-8' PATTERN_VERSION = r'(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P
[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?'
STEMS_MASKS = {
    'berry/haco_version.be': r"var\s+VERSION\s*=\s*'({})'",
    'ha/addon/config.yaml': r"version:\s+({})"
}
VERSION = sys.argv[1]


def replacer(match):
    text_new = match.group(0).replace(match.group(1), VERSION)
    return text_new


if __name__ == '__main__':
    for stem, mask in STEMS_MASKS.items():
        path = PATH_ROOT / stem
        text_old = path.read_text(encoding=ENCODING)
        pattern = mask.format(PATTERN_VERSION)
        replacement = pattern.format(VERSION)
        text = re.sub(pattern, replacer, text_old)
        path.write_text(text, encoding=ENCODING)
        print(f'Wrote versions to file: "{path}"')