def find_free(events): """ uses the not free events to find the free blocks :param events: dict of busy events :return: dict of free times """ #pass in the event list agenda = Agenda.from_dict(events) app.logger.debug("Find Free Events") #Just get all the block in questions info start_date = arrow.get(flask.session['begin_date']).date() end_date = arrow.get(flask.session['end_date']).date() start_time = arrow.get(flask.session['start_time']).time() end_time = arrow.get(flask.session['end_time']).time() #Make two arrow objects for freeblock query begin = arrow.Arrow(start_date.year, start_date.month, start_date.day, start_time.hour, start_time.minute) end = arrow.Arrow(end_date.year, end_date.month, end_date.day, end_time.hour, end_time.minute) free = Appt(begin, end, "Free") free_time = agenda.complement(free) app.logger.debug(free_time.list_convert()) #convert to dict for later use return free_time.list_convert()