parameters: (self, context, nodes, page_type='normal')
return_statement: return {
              'cl': self,
              'pagination_required': pagination_required,
              'show_all_url': need_show_all_link and self.get_query_string({ALL_VAR: ''}),
              'page_range': map(self.get_page_number, page_range),
              'ALL_VAR': ALL_VAR,
              '1': 1,
          }
docstring: Generates the series of links to the pages in a paginated list.
docstring_summary: Generates the series of links to the pages in a paginated list.
docstring_tokens: Generates the series of links to the pages in a paginated list .
function: def block_pagination(self, context, nodes, page_type='normal'):
          """
          Generates the series of links to the pages in a paginated list.
          """
          paginator, page_num = self.paginator, self.page_num
  
          pagination_required = (
              not self.show_all or not self.can_show_all) and self.multi_page
          if not pagination_required:
              page_range = []
          else:
              ON_EACH_SIDE = {'normal': 5, 'small': 3}.get(page_type, 3)
              ON_ENDS = 2
  
              # If there are 10 or fewer pages, display links to every page.
              # Otherwise, do some fancy
              if paginator.num_pages <= 10:
                  page_range = range(paginator.num_pages)
              else:
                  # Insert "smart" pagination links, so that there are always ON_ENDS
                  # links at either end of the list of pages, and there are always
                  # ON_EACH_SIDE links at either end of the "current page" link.
                  page_range = []
                  if page_num > (ON_EACH_SIDE + ON_ENDS):
                      page_range.extend(range(0, ON_EACH_SIDE - 1))
                      page_range.append(DOT)
                      page_range.extend(
                          range(page_num - ON_EACH_SIDE, page_num + 1))
                  else:
                      page_range.extend(range(0, page_num + 1))
                  if page_num < (paginator.num_pages - ON_EACH_SIDE - ON_ENDS - 1):
                      page_range.extend(
                          range(page_num + 1, page_num + ON_EACH_SIDE + 1))
                      page_range.append(DOT)
                      page_range.extend(range(
                          paginator.num_pages - ON_ENDS, paginator.num_pages))
                  else:
                      page_range.extend(range(page_num + 1, paginator.num_pages))
  
          need_show_all_link = self.can_show_all and not self.show_all and self.multi_page
          return {
              'cl': self,
              'pagination_required': pagination_required,
              'show_all_url': need_show_all_link and self.get_query_string({ALL_VAR: ''}),
              'page_range': map(self.get_page_number, page_range),
              'ALL_VAR': ALL_VAR,
              '1': 1,
          }
function_tokens: def block_pagination ( self , context , nodes , page_type = 'normal' ) : paginator , page_num = self . paginator , self . page_num pagination_required = ( not self . show_all or not self . can_show_all ) and self . multi_page if not pagination_required : page_range = [ ] else : ON_EACH_SIDE = { 'normal' : 5 , 'small' : 3 } . get ( page_type , 3 ) ON_ENDS = 2 # If there are 10 or fewer pages, display links to every page. # Otherwise, do some fancy if paginator . num_pages <= 10 : page_range = range ( paginator . num_pages ) else : # Insert "smart" pagination links, so that there are always ON_ENDS # links at either end of the list of pages, and there are always # ON_EACH_SIDE links at either end of the "current page" link. page_range = [ ] if page_num > ( ON_EACH_SIDE + ON_ENDS ) : page_range . extend ( range ( 0 , ON_EACH_SIDE - 1 ) ) page_range . append ( DOT ) page_range . extend ( range ( page_num - ON_EACH_SIDE , page_num + 1 ) ) else : page_range . extend ( range ( 0 , page_num + 1 ) ) if page_num < ( paginator . num_pages - ON_EACH_SIDE - ON_ENDS - 1 ) : page_range . extend ( range ( page_num + 1 , page_num + ON_EACH_SIDE + 1 ) ) page_range . append ( DOT ) page_range . extend ( range ( paginator . num_pages - ON_ENDS , paginator . num_pages ) ) else : page_range . extend ( range ( page_num + 1 , paginator . num_pages ) ) need_show_all_link = self . can_show_all and not self . show_all and self . multi_page return { 'cl' : self , 'pagination_required' : pagination_required , 'show_all_url' : need_show_all_link and self . get_query_string ( { ALL_VAR : '' } ) , 'page_range' : map ( self . get_page_number , page_range ) , 'ALL_VAR' : ALL_VAR , '1' : 1 , }