ungana

Unnamed repository; edit this file 'description' to name the repository.
Info | Log | Files | Refs | README

commit 9ef47194b8cf04fa013c4b497bb2675f77605626
parent dd66490e8194fd7d905d94221ea1e37bc798b38a
Author: Carlosokumu <carlosokumu254@gmail.com>
Date:   Sat, 23 Aug 2025 15:57:28 +0300

extend ArgsParser:
-Updatehandle_create to detect and prevent creating events with duplicate details in an existing iCalendar file

Diffstat:
Mcalendarapp/cmd/args_parser.py | 18+++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/calendarapp/cmd/args_parser.py b/calendarapp/cmd/args_parser.py @@ -132,13 +132,25 @@ class ArgsParser: 'description': args.description, 'organizer': args.organizer, 'tzid': args.tzid - } - - event = self.ical_manager.create_event(event_data) + } if args.file: filename = args.file + cal = self.ical_manager.load_ical_file(args.file) + exists = self.ical_manager.check_existing_event(cal,event_data) + if exists: + details = ( + f"Summary='{event_data.get('summary')}', " + f"Start={event_data.get('start')}, " + f"Tzid={event_data.get('tzid')}, " + f"Location='{event_data.get('location')}'" + ) + self.parser.error( f"Duplicate event detected: An event with these details already exists: {details}. "f"Try using the 'edit' command instead.") + return + else: filename = f"event_{datetime.now().strftime('%Y%m%d_%H%M%S')}.ics" + + event = self.ical_manager.create_event(event_data) self.ical_manager.save_ical_file(event, filename) def handle_edit(self, args):