Skip to content

Instantly share code, notes, and snippets.

@judell
Created September 3, 2024 15:41
Show Gist options
  • Save judell/48a2d82e7842f347c5287c531cc55b50 to your computer and use it in GitHub Desktop.
Save judell/48a2d82e7842f347c5287c531cc55b50 to your computer and use it in GitHub Desktop.
create calendar weeks
def create_calendar_weeks(year, month, grouped_events):
cal = calendar.monthcalendar(year, month)
calendar_weeks = []
for week in cal:
calendar_week = []
for day in week:
if day == 0:
calendar_week.append((0, []))
else:
date_key = datetime(year, month, day).date()
events = grouped_events.get(date_key, OrderedDict())
calendar_week.append((day, events))
calendar_weeks.append(calendar_week)
return calendar_weeks
def render_html_calendar(grouped_events, year, month, feeds, output_dir='.'):
env = Environment(loader=FileSystemLoader('.'))
calendar_template = env.get_template('calendar_template.html')
list_template = env.get_template('list_template.html')
calendar_weeks = create_calendar_weeks(year, month, grouped_events)
month_year = datetime(year, month, 1).strftime('%B %Y')
# Render calendar view
rendered_calendar = calendar_template.render(
calendar_weeks=calendar_weeks,
month_year=month_year,
feeds=sorted(feeds, key=lambda x: x['name']),
year=year,
month=month
)
# Render list view
rendered_list = list_template.render(
grouped_events=grouped_events,
calendar_weeks=calendar_weeks, # Add this line
month_year=month_year,
feeds=sorted(feeds, key=lambda x: x['name']),
year=year,
month=month
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment