#!/usr/bin/env python3 import argparse import calendar import os import jinja2 def main(): env = jinja2.Environment() loader = jinja2.FileSystemLoader('templates') template_verso = loader.load(env, 'week_on_two_pages-A6-v.svg') template_recto = loader.load(env, 'week_on_two_pages-A6-r.svg') os.makedirs("build", exist_ok=True) year = 2022 cal = calendar.Calendar() weeks = sum([r[0] for r in cal.yeardatescalendar(2022, width=1)], []) last_monday = None page = 1 for week in weeks: # yeardatescalendar will have the same week twice at the margin # of a month, but we want to skip one of those if week[0] == last_monday: continue last_monday = week[0] with open("build/week_on_two_pages-A6-{year}-{page:02}.svg".format( year=year, page=page, ), 'w') as fp: fp.write(template_verso.render(week=week)) page += 1 with open("build/week_on_two_pages-A6-{year}-{page:02}.svg".format( year=year, page=page, ), 'w') as fp: fp.write(template_recto.render(week=week)) page += 1 if __name__ == '__main__': main()