Untitled
from icalendar import Calendar, Event from datetime import datetime import pytz # Define timezone tz = pytz.timezone("America/New_York") # Create a calendar cal = Calendar() cal.add("prodid", "-//Econ 101 Schedule//EN") cal.add("version", "2.0") # Define events based on the syllabus events = [ ("Introduction", "2025-01-21", "08:30", "Academic West 108"), ("Problem Set 1 Due", "2025-01-30", "08:30", "Academic West 108"), ("Exam 1", "2025-02-26", "19:00", "Academic West 116"), ("Problem Set 2 Due", "2025-02-06", "08:30", "Academic West 108"), ("Problem Set 3 Due", "2025-02-13", "08:30", "Academic West 108"), ("Problem Set 4 Due", "2025-02-20", "08:30", "Academic West 108"), ("Problem Set 5 Due", "2025-03-06", "08:30", "Academic West 108"), ("Problem Set 6 Due", "2025-03-20", "08:30", "Academic West 108"), ("Problem Set 7 Due", "2025-03-27", "08:30", "Academic West 108"), ("Problem Set 8 Due", "2025-04-03", "08:30", "Academic West 108"), ("Test 2", "2025-04-09", "19:00", "Academic West 116"), ("Problem Set 9 Due", "2025-04-17", "08:30", "Academic West 108"), ("Problem Set 10 Due", "2025-04-24", "08:30", "Academic West 108"), ("In-Class Quiz (Counts as Problem Set 11)", "2025-04-29", "08:30", "Academic West 108"), ("Final Exam", "2025-05-01", "08:30", "Academic West 108"), ] # Add events to the calendar for name, date, time, location in events: event = Event() event.add("summary", name) event.add("dtstart", tz.localize(datetime.strptime(f"{date} {time}", "%Y-%m-%d %H:%M"))) event.add("dtend", tz.localize(datetime.strptime(f"{date} {time}", "%Y-%m-%d %H:%M"))) event.add("location", location) event.add("description", f"{name} at {location}") cal.add_component(event) # Save to file ics_file_path = "/mnt/data/Econ101_Spring2025.ics" with open(ics_file_path, "wb") as f: f.write(cal.to_ical()) # Provide file for download ics_file_path
Leave a Comment