#!/usr/bin/env python3
import xml.etree.ElementTree as ET
import subprocess

# Generates the favicon images containing unread message counts.

# Open the SVG and find the number text elements using XPath
tree = ET.parse('orig.svg')
elems = [tree.getroot().findall(
    ".//*[@id='%s']/{http://www.w3.org/2000/svg}tspan" % (name,))[0]
    for name in ('number_back', 'number_front')]

for i in range(1, 100):
    # Prepare a modified SVG
    s = '%2d' % (i,)
    for e in elems:
        e.text = s
    with open('tmp.svg', 'wb') as out:
        tree.write(out)

    # Convert to PNG
    subprocess.check_call(['inkscape', '--without-gui', '--export-area-page',
                           '--export-png=../../../static/images/favicon/favicon-%d.png' % (i,),
                           'tmp.svg'])
