@register.filter(name='display_list', is_safe=True)
def display_list(values, display_limit):
 if (len(values) == 1):
  display_string = ('%s' % (values[0],))
 elif (len(values) <= display_limit):
  display_string = ', '.join((('%s' % (value,)) for value in values[:(-1)]))
  display_string += (' and %s' % (values[(-1)],))
 else:
  display_string = ', '.join((('%s' % (value,)) for value in values[:display_limit]))
  display_string += and_n_others(values, display_limit)
 return display_string

@ register . filter ( name = 'display_list' , is_safe = True ) def display_list ( values , display_limit ) : if ( len ( values ) == 1 ) : display_string = ( '%s' % ( values [ 0 ] , ) ) elif ( len ( values ) <= display_limit ) : display_string = ', ' . join ( ( ( '%s' % ( value , ) ) for value in values [ : ( - 1 ) ] ) ) display_string += ( ' and %s' % ( values [ ( - 1 ) ] , ) ) else : display_string = ', ' . join ( ( ( '%s' % ( value , ) ) for value in values [ : display_limit ] ) ) display_string += and_n_others ( values , display_limit ) return display_string
given a list of values .