def retrieve_row_values(row, field_names, index_dict):
    """This function will take a given list of field names, cursor row, and an index dictionary provide
    a tuple of passed row values.
    :param - row - cursor row
    :param - field_names -list of fields and their order to retrieve
    :param - index_dict - cursors dictionary in the form of {field_name : row_index}
    :return - list of values from cursor"""
    row_values = []
    for field in field_names:
        index = index_dict.get(field, None)
        if index is None:
            print("Field could not be retrieved. Passing None.")
            value = None
        else:
            value = row[index]
        row_values.append(value)
    return row_values