commit d3169deb1734db67152e47b5139c6a7b8c9abbfa
parent 280d98e6ef6336b3d709f799ea170e9c4344e691
Author: Carlosokumu <carlosokumu254@gmail.com>
Date: Fri, 15 Aug 2025 16:40:32 +0300
add logging, and saving updated ical fields
Diffstat:
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/calendarapp/ical/ical_manager.py b/calendarapp/ical/ical_manager.py
@@ -33,7 +33,8 @@ class ICalManager:
return event
- def update_event(self, cal: Calendar, updates: Dict[str, Any], uid: str) -> Calendar:
+ def update_event(self, cal: Calendar, updates: Dict[str, Any],filename: str = None) -> Calendar:
+ uid = cal.walk('VEVENT')[0].get('uid')
event_found = False
for component in cal.walk():
if component.name == "VEVENT" and str(component.get("UID")) == uid:
@@ -44,6 +45,9 @@ class ICalManager:
if not event_found:
raise ValueError(f"No event with UID {uid} found.")
+
+ if filename:
+ self.update_ical_file(cal,filename)
return cal
@@ -89,8 +93,14 @@ class ICalManager:
events.append(component)
return events
- def save_to_file(self, event: Event, filename: str) -> None:
+ def save_ical_file(self, event: Event, filename: str) -> None:
"""Save calendar with event to .ics file."""
self.calendar.add_component(event)
with open(filename, 'wb') as f:
f.write(self.calendar.to_ical())
+
+
+ def update_ical_file(self, cal: Calendar, filename: str) -> None:
+ with open(filename, 'wb') as f:
+ f.write(cal.to_ical())
+