Move to the ics library

This commit is contained in:
Scott Wallace 2024-05-07 13:20:29 +01:00
parent 37bc5948e2
commit 04baff10a6
Signed by: scott
SSH key fingerprint: SHA256:+LJug6Dj01Jdg86CILGng9r0lJseUrpI0xfRqdW9Uws

16
main.py
View file

@ -4,7 +4,7 @@ Generated by ChatGPT 3.5 (https://chatgpt.com/c/103d4f23-7c8f-484f-9598-d38187e9
from datetime import datetime, timedelta from datetime import datetime, timedelta
from icalendar import Calendar, Event from ics import Calendar, Event
def mothering_sunday(year: int) -> datetime: # pylint: disable=too-many-locals def mothering_sunday(year: int) -> datetime: # pylint: disable=too-many-locals
@ -45,8 +45,6 @@ def generate_ical() -> None:
Generate an ICAL file for Mothering Sunday (UK) Generate an ICAL file for Mothering Sunday (UK)
""" """
cal = Calendar() cal = Calendar()
cal.add("prodid", "-//Mothering Sunday Calendar//wallace.sh//")
cal.add("version", "2.0")
for year in range(datetime.now().year, datetime.now().year + 10): for year in range(datetime.now().year, datetime.now().year + 10):
date = mothering_sunday(year) date = mothering_sunday(year)
@ -54,13 +52,13 @@ def generate_ical() -> None:
if date.weekday() != 6: # 6 corresponds to Sunday if date.weekday() != 6: # 6 corresponds to Sunday
date += timedelta(days=6 - date.weekday()) date += timedelta(days=6 - date.weekday())
event = Event() event = Event()
event.add("summary", "Mothering Sunday") event.name = "Mothering Sunday"
event.add("dtstart", date) event.begin = date
event.add("dtend", date + timedelta(days=1)) event.make_all_day()
cal.add_component(event) cal.events.add(event)
with open("mothering_sunday.ics", "wb") as f: with open("mothering_sunday.ics", "w", encoding="utf-8") as f:
f.write(cal.to_ical()) f.write(cal.serialize())
if __name__ == "__main__": if __name__ == "__main__":