def create_or_update(self): service = Connection().get_service() content_type = ContentType.objects.get_for_model(self.model) event_data = self.get_event_data() calendar_id = event_data.pop('calendarId') try: synced_event = SyncedEvent.objects.get(content_type=content_type, object_id=self.model.id) if synced_event.origin == 'google': return False g_event = service.events().patch( calendarId=calendar_id, eventId=synced_event.gcal_event_id, body=event_data).execute() return g_event except SyncedEvent.DoesNotExist: g_event = service.events().insert(calendarId=calendar_id, body=event_data).execute() synced_calendar, created = SyncedCalendar.objects.get_or_create( calendar_id=calendar_id) synced_event = SyncedEvent.objects.create( content_object=self.model, gcal_event_id=g_event['id'], gcal_event_url=g_event['htmlLink'], synced_calendar=synced_calendar, origin='app') return g_event
def create_or_update(self): service = Connection().get_service() content_type = ContentType.objects.get_for_model(self.model) event_data = self.get_event_data() calendar_id = event_data.pop('calendarId') try: synced_event = SyncedEvent.objects.get(content_type=content_type, object_id=self.model.id) if synced_event.origin == 'google': return False g_event = service.events().patch(calendarId=calendar_id, eventId=synced_event.gcal_event_id, body=event_data).execute() return g_event except SyncedEvent.DoesNotExist: g_event = service.events().insert(calendarId=calendar_id, body=event_data).execute() synced_calendar, created = SyncedCalendar.objects.get_or_create(calendar_id=calendar_id) synced_event = SyncedEvent.objects.create( content_object=self.model, gcal_event_id=g_event['id'], gcal_event_url=g_event['htmlLink'], synced_calendar=synced_calendar, origin='app' ) return g_event
def tearDown(self): connection.cursor().execute("DROP TABLE gcalsync_testpushevent") service = Connection().get_service() service.events().delete(calendarId='primary', eventId=self.created_event['id']).execute()