from jinja2 import Environment, PackageLoader, Markup
import markdown
from collections import namedtuple

Track = namedtuple("Track", ['time', 'artist', 'title', 'album', 'year', 'bandcamp'])

md = markdown.Markdown()
env = Environment(loader=PackageLoader("mixgen", "."), trim_blocks=True) 
env.filters['markdown'] = lambda text: Markup(md.convert(text))

def mixgen(pack):
    with open('README.txt', 'w') as f:
        readme = env.get_template("readme.tpl").render(pack.__dict__)
        f.write(readme)
        print(f"wrote {len(readme)} bytes to README.txt")
    with open('index.html', 'w') as f:
        index = env.get_template("index.html.tpl").render(pack.__dict__)
        f.write(index)
        print(f"wrote {len(index)} bytes to index.html")
        