From edaf83aaa14a57ed2687f318b74f2e8081e0b765 Mon Sep 17 00:00:00 2001 From: Martin Bauer Date: Thu, 9 Apr 2026 16:13:08 +0200 Subject: [PATCH] fix in gcal --- eventplanner_gcal/google_sync.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/eventplanner_gcal/google_sync.py b/eventplanner_gcal/google_sync.py index e582b1f..7e20ea7 100644 --- a/eventplanner_gcal/google_sync.py +++ b/eventplanner_gcal/google_sync.py @@ -208,7 +208,7 @@ def on_gcal_event_created(request_id, response, exception=None): """Callback function for created events to enter new gcal id in the mapping table.""" if exception is not None: logger.error(f"Error creating GCal event: {exception}") - raise exception + return # Don't raise — let the batch continue processing other events google_id = response["id"] django_id = response["extendedProperties"]["private"]["blechreizID"] @@ -316,7 +316,9 @@ def delete_all_gcal_events(service=None): batch.execute() except Exception as e: logger.error(f"Error deleting GCal events: {e}") - _invalidate_service_on_error(e) + status = getattr(e, 'status_code', None) or getattr(e, 'resp', {}).get('status') + if str(status) in ('401', '403'): + _invalidate_service_on_error(e) GCalMapping.objects.all().delete() @@ -401,7 +403,9 @@ def sync_from_local_to_google(service=None): batch.execute() except Exception as e: logger.error(f"Error executing batch request: {e}") - _invalidate_service_on_error(e) + status = getattr(e, 'status_code', None) or getattr(e, 'resp', {}).get('status') + if str(status) in ('401', '403'): + _invalidate_service_on_error(e) return len(events_to_create_django_id), len(events_to_delete_google_id)