(data_list, type_io='input')
return '<hr>'.join(full_details)
A function that forms the entire descriptive part of the input/output
    summary for widgets that have more than one input/output.

    :param data_list: A list of tuples for each input/output dataset where the
    first element of the tuple is the name of the dataset (can be omitted)
    and the second is the dataset
    :type data_list: list(tuple(str, Orange.data.Table))
    :param type_io: A string that indicates weather the input or output data
    is being formatted
    :type type_io: str

    :return A formatted summary
    :rtype str
A function that forms the entire descriptive part of the input/output
    summary for widgets that have more than one input/output.
A function that forms the entire descriptive part of the input / output summary for widgets that have more than one input / output .
def format_multiple_summaries(data_list, type_io='input'):
    """
    A function that forms the entire descriptive part of the input/output
    summary for widgets that have more than one input/output.

    :param data_list: A list of tuples for each input/output dataset where the
    first element of the tuple is the name of the dataset (can be omitted)
    and the second is the dataset
    :type data_list: list(tuple(str, Orange.data.Table))
    :param type_io: A string that indicates weather the input or output data
    is being formatted
    :type type_io: str

    :return A formatted summary
    :rtype str
    """

    def new_line(text):
        return text.replace('\n', '<br>')

    full_details = []
    for (name, data) in data_list:
        if data:
            details = new_line(format_summary_details(data))
        else:
            details = f'No data on {type_io}.'
        full_details.append(details if not name else f'{name}:<br>{details}')
    return '<hr>'.join(full_details)
def format_multiple_summaries ( data_list , type_io = 'input' ) : def new_line ( text ) : return text . replace ( '\n' , '<br>' ) full_details = [ ] for ( name , data ) in data_list : if data : details = new_line ( format_summary_details ( data ) ) else : details = f'No data on {type_io}.' full_details . append ( details if not name else f'{name}:<br>{details}' ) return '<hr>' . join ( full_details )