def condense_meeting_times(times):
    """
    This takes a list of times and returns an organized list with all
    overlapping times ommited.

    parameters:
        list of (start_time, end_time) tuples
    return:
        list of tuples
    """
    # Let python sort, most effeciently.  This yields an easy
    # way to find overlapping time blocks
    times.sort()
    condensed_times = []
    start_time, end_time = times[0]
    for time_block in times:
        if (end_time >= time_block[0]):
            end_time = max(end_time, time_block[1])
        else:
            condensed_times.append((start_time, end_time))
            start_time, end_time = time_block
    condensed_times.append((start_time, end_time))
    return condensed_times