def delete_calendar(stub: GoogleCalendarServiceStub, user_id: str, calendar_id: str): query = GoogleCalendar.Query.Delete(user_id=user_id, calendar_id=calendar_id) result = stub.DeleteGoogleCalendar(query) return result
def delete_event(stub: GoogleCalendarServiceStub, user_id: str, calendar_id: str, event_id: str): query = GoogleCalendarEvent.Query.Delete(user_id=user_id, calendar_id=calendar_id, event_id=event_id) result = stub.DeleteGoogleCalendarEvent(query) return result
def get_event(stub: GoogleCalendarServiceStub, user_id: str, calendar_id: str, event_id: str): query = GoogleCalendarEvent.Query.Get(user_id=user_id, calendar_id=calendar_id, event_id=event_id) result = stub.GetGoogleCalendarEvent(query) return result
def list_calendars(stub: GoogleCalendarServiceStub, user_id: str, limit: int = 100): query = GoogleCalendar.Query.List(user_id=user_id, limit=Int32Value(value=limit)) result = stub.ListGoogleCalendar(query) return list( result ) # Here, ListGoogleCalendar returns generator, not List; so, force to change into List.
def run_use_cases(address: str, user_id: str, receiver_server_address: str): channel = grpc.insecure_channel(address) calendar_stub = GoogleCalendarServiceStub(channel) alarm_stub = AlarmScheduleServiceStub(channel) use_cases.find_free_time_slots(calendar_stub, user_id) time.sleep(TERM) use_cases.schedule_multiple_alarms(alarm_stub, calendar_stub, user_id, receiver_server_address) time.sleep(TERM * 6) channel.close()
def list_events(stub: GoogleCalendarServiceStub, user_id: str, calendar_id: str, limit: int = 100, start_time: datetime = None, end_time: datetime = None): query = GoogleCalendarEvent.Query.List( user_id=user_id, calendar_id=calendar_id, limit=Int32Value(value=limit), start_time=datetime_to_protobuf(start_time) if start_time else None, end_time=datetime_to_protobuf(end_time) if end_time else None) result = stub.ListGoogleCalendarEvent(query) return list(result)
def create_calendar(stub: GoogleCalendarServiceStub, user_id: str, summary: str, **kwargs): query = GoogleCalendar.Query.Create( user_id=user_id, calendar=GoogleCalendar( summary=StringValue(value=summary), description=StringValue(value=kwargs.get('description')) if kwargs.get('description') else None, location=StringValue(value=kwargs.get('location')) if kwargs.get('location') else None, timezone=StringValue(value=kwargs.get('timezone')) if kwargs.get('timezone') else None)) result = stub.CreateGoogleCalendar(query) return result
def create_event(stub: GoogleCalendarServiceStub, user_id: str, calendar_id: str, summary: str, start: datetime, end: datetime, **kwargs): query = GoogleCalendarEvent.Query.Create( user_id=user_id, calendar_id=calendar_id, event=GoogleCalendarEvent( summary=StringValue(value=summary), start=datetime_to_protobuf(start), end=datetime_to_protobuf(end), description=StringValue(value=kwargs.get('description')) if kwargs.get('description') else None, location=StringValue(value=kwargs.get('location')) if kwargs.get('location') else None)) result = stub.CreateGoogleCalendarEvent(query) return result
def run_calendar(address: str, user_id: str): channel = grpc.insecure_channel(address) stub = GoogleCalendarServiceStub(channel) calendar_op.list_calendars(stub, user_id) time.sleep(TERM) new_calendar = calendar_op.create_calendar(stub, user_id, 'dummy-calendar', description='dummy-description') new_calendar_id = new_calendar.id.value time.sleep(TERM) calendar_op.get_calendar(stub, user_id, new_calendar_id) time.sleep(TERM) calendar_op.update_calendar(stub, user_id, new_calendar_id, description='updated-description') time.sleep(TERM) new_event_1 = calendar_op.create_event(stub, user_id, new_calendar_id, 'dummy-event-1', datetime.now() + timedelta(hours=1), datetime.now() + timedelta(hours=2), description='dummy-event-1-description' ) new_event_2 = calendar_op.create_event(stub, user_id, new_calendar_id, 'dummy-event-2', datetime.now() + timedelta(hours=3), datetime.now() + timedelta(hours=4), description='dummy-event-2-description' ) time.sleep(TERM) calendar_op.get_event(stub, user_id, new_calendar_id, new_event_1.id.value) time.sleep(TERM) calendar_op.list_events(stub, user_id, new_calendar_id, 100) time.sleep(TERM) calendar_op.update_event(stub, user_id, new_calendar_id, new_event_1.id.value, description='dummy-event-1-updated-description') time.sleep(TERM) calendar_op.delete_event(stub, user_id, new_calendar_id, new_event_2.id.value) time.sleep(TERM) calendar_op.delete_calendar(stub, user_id, new_calendar_id) time.sleep(TERM) channel.close()
def update_event(stub: GoogleCalendarServiceStub, user_id: str, calendar_id: str, event_id: str, **kwargs): query = GoogleCalendarEvent.Query.Update( user_id=user_id, calendar_id=calendar_id, event_id=event_id, event=GoogleCalendarEvent( summary=StringValue(value=kwargs.get('summary')) if kwargs.get('summary') else None, start=datetime_to_protobuf(kwargs.get('start')) if kwargs.get('start') and type(kwargs.get('start')) is datetime else None, end=datetime_to_protobuf(kwargs.get('end')) if kwargs.get('end') and type(kwargs.get('end')) is datetime else None, description=StringValue(value=kwargs.get('description')) if kwargs.get('description') else None, location=StringValue(value=kwargs.get('location')) if kwargs.get('location') else None)) result = stub.UpdateGoogleCalendarEvent(query) return result
def get_calendar(stub: GoogleCalendarServiceStub, user_id: str, calendar_id: str): query = GoogleCalendar.Query.Get(user_id=user_id, calendar_id=calendar_id) result = stub.GetGoogleCalendar(query) return result