From 15fd791ca46685b10f42477d7c71f6af0fc95a30 Mon Sep 17 00:00:00 2001 From: Charlielv04 <carloslv04@gmail.com> Date: Sat, 5 Aug 2023 17:07:33 +0200 Subject: [PATCH] Delete event functionality Add option to delete an event when changing them --- Ideas.txt | 3 +-- src/Committees-Parrot.py | 9 ++++++++- src/utils/gc.py | 4 ++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Ideas.txt b/Ideas.txt index d24f60a..318bd11 100644 --- a/Ideas.txt +++ b/Ideas.txt @@ -10,8 +10,7 @@ Template: - Attribute that keeps track of where you are in a given flow structure Events: -- Possibility for event to start one day and finish another (ask if its the next day) -- Possibility to see all events planned by the committee and allow to delete them +- Add possibility to delete events Check error when not fulfilling some flow of the access handler or event handler (not possibility of continuing interaction) diff --git a/src/Committees-Parrot.py b/src/Committees-Parrot.py index 31426f7..e57b18c 100644 --- a/src/Committees-Parrot.py +++ b/src/Committees-Parrot.py @@ -234,6 +234,9 @@ class event_changer: self.event = [event for event in self.events if event["summary"] == call_data][0] return True, 'property', None if self.state == self.State.PROPERTY: + if call_data == 'Delete Event': + self.state = self.State.OTHER_EVENT + return False, 'delete', self.event self.state = self.State.VALUE self.property = call_data return True, 'value', None @@ -254,7 +257,7 @@ class event_changer: self.keyboard = self._build_keyboard(event_names) def _build_properties(self): - properties = [['Date'], ['Start'], ['End'], ['Name'], ['Description']] + properties = [['Date'], ['Start'], ['End'], ['Name'], ['Description'], ['Delete Event']] self.keyboard = self._build_keyboard(properties) def _build_more(self): @@ -395,6 +398,10 @@ class Event_handler: key, state, event = self.event_changer.process(data) + if not key and state == 'delete': + gc.deleteEvent(event) + await query.edit_message_text(text="Alright") + return self.state.HUB if not key and state == 'event': await query.edit_message_text(text="Alright") return self.state.HUB diff --git a/src/utils/gc.py b/src/utils/gc.py index 40906ad..4faef9b 100644 --- a/src/utils/gc.py +++ b/src/utils/gc.py @@ -60,6 +60,10 @@ def changeTime(formatted_time, new_time, next_day): date = str(date_obj) return date + 'T' + new_time + ':00' +def deleteEvent(event): + service = get_calendar_service() + service.events().delete(calendarId=calendar_id, eventId=event["id"]).execute() + def timeFormat(date, time): return str(date) + 'T' + time + ':00' -- GitLab