<%def name="navlinks(view, curr, last, **kwargs)"> <% kwargs['_query'] = {'page': None} if 'search_query' in kwargs.keys(): kwargs['_query'] = dict(kwargs['_query'].items() + kwargs['search_query'].items()) %> % if not last: <% last = 1 %> % endif % if not (curr == last and curr == 1): % if curr != 1: <% kwargs['_query']['page'] = curr-1 %> % endif % if last < 8: % for i in range(1, last+1): ${link_page(view, i, curr, **kwargs)} % endfor % else: % if curr < 5: % for i in range(1,7): ${link_page(view, i, curr, **kwargs)} % endfor ... <% kwargs['_query']['page'] = last %> % elif last-curr < 6: <% kwargs['_query']['page'] = 1 %> ... % for i in range(last-5, last+1): ${link_page(view, i, curr, **kwargs)} % endfor % else: <% kwargs['_query']['page'] = 1 %> ... % for i in range(curr-2, curr+3): ${link_page(view, i, curr, **kwargs)} % endfor ... <% kwargs['_query']['page'] = last %> % endif % endif % if curr != last: <% kwargs['_query']['page'] = curr+1 %> % endif % endif <%def name="link_page(view, page_num, curr_page, **kwargs)"> % if page_num == curr_page: ${page_num} % else: <% kwargs['_query']['page'] = page_num %> % endif