def meeting_stat(stat_func):
    """
    Decorator for a method that returns a list of dictionaries representing
    statistics for a given meeting, each dictionary containing 3 entries:
        1) A description
        2) A quantity
        3) A price
    The decorator appends a "Total" dict to the end if the returned list
    is non-empty.
    """
    def add_total(*args):
        stats = stat_func(*args)
        if stats:
            stats.append({
                "type": 'Total',
                "quantity": sum(o['quantity'] for o in stats),
                "income": sum(o['income'] for o in stats),
            })
        return stats
    return add_total