$def with (selected_sort, exclude=None, default_sort='relevance') $_('Sorting by') $_('Sorted by'): $code: sort_options = [ { 'sort': 'relevance', 'name': _("Relevance"), 'ga_key': 'Relevance' }, { 'sort': 'editions', 'name': _("Most Editions"), 'ga_key': 'Editions' }, { 'sort': 'old', 'name': _("First Published"), 'ga_key': 'Old' }, { 'sort': 'new', 'name': _("Most Recent"), 'ga_key': 'New' }, { 'sort': 'random', 'name': _("Random"), 'ga_key': 'Random', 'selected': selected_sort and selected_sort.startswith('random') }, ] $for sort_option in sort_options: $if exclude and sort_option['sort'] in exclude: $continue $ is_selected = sort_option.get('selected') or sort_option['sort'] == selected_sort or (selected_sort is None and sort_option['sort'] == default_sort) $if is_selected: $sort_option['name'] $else: $sort_option['name'] $if not loop.last: | $if selected_sort and selected_sort.startswith('random'): ($_('Shuffle'))