def filter_conditions(conditions, queue):
    """Filters a list of conditions based on the queue's needs."""
    if queue == 'spam':
        return [c for c in conditions
                if c.reports < 1 and
                   c.action != 'report']
    elif queue == 'report':
        return [c for c in conditions
                if c.action != 'report' and
                   (c.action != 'approve' or c.reports > 0)]
    elif queue == 'submission':
        return [c for c in conditions
                if c.type in ('both', 'submission') and
                   c.reports < 1 and
                   c.action != 'approve']
    elif queue == 'comment':
        return [c for c in conditions
                if c.type in ('both', 'comment') and
                   c.reports < 1 and
                   c.action != 'approve']