diff options
author | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2021-11-02 11:42:46 +0100 |
---|---|---|
committer | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2021-11-02 11:42:46 +0100 |
commit | 55a7966d493e9972e07a60cc7ecbfba9a93a2eee (patch) | |
tree | 58877b8105f201f3d59ba8453148d6fae11c13b9 /weekly_planner_generator.py | |
parent | 17bd4ecd85e4191de99bc86c5e0b0ccf378b4ef3 (diff) |
Weekly planner generator: quick hardcoded script step 1: generate svgs
Diffstat (limited to 'weekly_planner_generator.py')
-rwxr-xr-x | weekly_planner_generator.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/weekly_planner_generator.py b/weekly_planner_generator.py new file mode 100755 index 0000000..d5bd90c --- /dev/null +++ b/weekly_planner_generator.py @@ -0,0 +1,48 @@ +#!/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() |