Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
 def sync(self):
     Retriever().get_event_list(connection=Connection(),
                                calendar_id=self.calendar_id,
                                processor=self.process,
                                post_retrieval=self.post_retrieval)
Пример #4
0
 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()
Пример #5
0
 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()