Skip to content

Instantly share code, notes, and snippets.

@catichenor
Last active July 14, 2018 00:17
Show Gist options
  • Save catichenor/b28691cf96014808cbaf68d6eca407da to your computer and use it in GitHub Desktop.
Save catichenor/b28691cf96014808cbaf68d6eca407da to your computer and use it in GitHub Desktop.
Generate a Markdown-formatted Weekly Report Template via Jinja2
from jinja2 import Template
from datetime import datetime, timedelta
today = datetime.now()
date_today = datetime(today.year, today.month, today.day)
day_of_the_week = date_today.weekday()
date_start_delta = timedelta(-(date_today.weekday()))
date_start = date_today + date_start_delta # Result should be Monday of this week.
date_end_delta = timedelta(4)
date_end = date_start + date_end_delta # Result should be Friday of this week.
weekdays = ['{this_month}-{this_day}-{this_year}'.format(
this_month = (date_start + timedelta(i)).month,
this_day = (date_start + timedelta(i)).day,
this_year = (date_start + timedelta(i)).year) for i in range(5)]
template = Template('''Notes_{{week_range}}
{% for weekday in weekdays %}
# {{weekday}}
## Hours
8:00-
## Summary
## Notes
*
## Other
*
## Meetings
### Meeting
{% endfor %}
## Final Summary
''')
print(template.render(week_range='{startmonth}-{startday}to{endmonth}-{endday}-{endyear}.md'.format(
startmonth=date_start.month, startday=date_start.day,
endmonth=date_end.month, endday=date_end.day, endyear=date_end.year), weekdays = weekdays))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment