import os import xml.etree.ElementTree as ET import re table_columns = 6 img_domain = "https://edent.github.io/SuperTinyIcons/" svg_list = sorted(os.listdir('images/svg/')) ref_list = sorted(os.listdir('images/reference/')) svg_data = {} total_bytes = 0 for svg_file in svg_list: if not svg_file.endswith('.svg'): continue svg = svg_file.split('.')[0] svg_data[svg] = { 'svg_file' : svg_file } svg_data[svg]['name'] = ET.parse(f'images/svg/{svg_file}').getroot().attrib["aria-label"] bytes = os.stat(f'images/svg/{svg_file}').st_size svg_data[svg]['bytes'] = bytes total_bytes += bytes for ref_file in ref_list: if ref_file.endswith('.url'): continue ref_name = ref_file.split('.')[0] if ref_name in svg_data: svg_data[ref_name]['ref_file'] = ref_file for ref_url in ref_list: if ref_url.endswith('.url'): ref_name = ref_url.split('.')[0] if ref_name in svg_data: svg_data[ref_name]['source'] = open("images/reference/" + ref_url, "r").readline() readme_table = "\n" check_table = '
\n' reference_table = "-|-|-\n" missing_table = "  |

No Reference Image Found

|  \n" counter = 0 for svg in svg_data: svg_file = svg_data[svg]['svg_file'] name = svg_data[svg]['name'] bytes = svg_data[svg]['bytes'] check_table += f'' if 'ref_file' in svg_data[svg]: ref_file = svg_data[svg]['ref_file'] reference_table += f' | | ' check_table += f'' if 'source' in svg_data[svg]: source = svg_data[svg]['source'] reference_table += source check_table += f'' reference_table += '\n' else: missing_table += f' | {name}
*[{svg}.svg]* | \n' check_table += '\n' if counter == 0 : readme_table += "\n" readme_table += f'\n' counter +=1 if counter == table_columns: readme_table += "\n\n" counter = 0 if counter != 0 : readme_table += "\n\n" readme_table += "
SVG IconCircle IconReferenceSource
{source}
{name}
' readme_table += f'
' readme_table += f'{bytes} bytes
" check_table += "" readme_summary_text = f"There are currently {len(svg_list)} icons and the average size is _under_ {round(total_bytes / len(svg_list))} bytes!" with open('README.md','r+') as f: file = f.read() file = re.sub(r"(?s).*?
", readme_table, file) file = re.sub("There are currently \d* icons and the average size is _under_ \d* bytes\!", readme_summary_text, file) f.seek(0) f.write(file) f.truncate() print(f"README.md updated with {len(svg_list)} icons.") with open('REFERENCE.md','r+') as f: file = f.read() file = re.sub(r"(?s)-\|-\|-.*", reference_table, file) file += missing_table f.seek(0) f.write(file) f.truncate() print(f"REFERENCE.md updated.") with open('CHECK.html','r+') as f: file = f.read() file = re.sub(r"(?s).*?
", check_table, file) f.seek(0) f.write(file) f.truncate() print(f"CHECK.html updated.")