#!/usr/bin/env python3 # SPDX-FileCopyrightText: 2023 Jonathan Poelen # SPDX-License-Identifier: MIT from pathlib import Path from urllib import request import re import sys if len(sys.argv) < 1: print(f'{sys.argv[0]} syntax/less.xml', file=sys.stderr) exit(1) # # Extract functions # data = request.urlopen('https://lesscss.org/functions/').read().decode() functions = re.findall(r'([-_\w\d]+)', data, flags=re.DOTALL) functions.append('%') # # Update syntax # sep = '\n ' new_list = f""" functions##CSS {f'{sep}'.join(sorted(functions))} """ less_filename = Path(sys.argv[1]) less_content = less_filename.read_text() original_less_content = less_content less_content = re.sub(r'.*?', new_list, less_content, count=1, flags=re.DOTALL) if original_less_content != less_content: less_content = re.sub(' version="(\d+)" ', lambda m: f' version="{int(m[1])+1}" ', less_content, count=1) less_filename.write_text(less_content)