
    Z'i
                         d Z  G d d      Zy)u2   
Created on 21 нояб. 2016 г.

@author: mitsh
c                        e Zd ZddZd Zd Zy)	Paginatorc                     || _         || _        | j                   | j                  z   | _        || _        || _        || _        | j                          y )N)d1_countd2_countcountMAXITEMSHALF_PAGES_LINKpage_num	calc_data)selfr   r   r
   maxitemshalf_pages_links         )/opt/sopds/opds_catalog/opds_paginator.py__init__zPaginator.__init__   sD      ]]T]]2
 .     c                    | j                   }|| j                  dz
  z  | _        | j                  | j                  k  r| j                  n| j                  r| j                  dz
  nd| _        || j                  z  dz
  | _        | j                  | j                  k  r| j                  n| j                  r| j                  dz
  nd| _        | j                   | j                  z
  | j                  z   }|| j                  dz
  z  | _        | j
                  | j                  k  r| j
                  n| j                  r| j                  dz
  nd| _        || j                  z  dz
  | _        | j                  | j                  k  r| j                  n| j                  r| j                  dz
  nd| _        | j                  | j                   z  dz   | _	        | j                  | j                  z
  | _        | j                  | j                  z   | _        | j                  dk  r(| j                  | j                  z
  dz   | _        d| _        | j                  | j                  kD  rR| j                  | j                  | j                  z
  z
  | _        | j                  | _        | j                  dk  rd| _        | j                  dkD  | _        | j                  | j                  k  | _        | j                  dkD  r| j                  dz
  nd| _        | j                  | j                  k  r| j                  dz   n| j                  | _        | j                  | _        t%        | j                  | j                  dz         D cg c]  }| c}| _        y c c}w )N       )r   r
   d1_first_posr   d1_last_posd2_first_posr   d2_last_posr   	num_pagesr	   	firstpagelastpagehas_previoushas_nextprevious_page_numbernext_page_numbernumberrange
page_range)r   d1_MAXITEMSd2_MAXITEMSis       r   r   zPaginator.calc_data   s   mm'q9151B1B4==1PD--jnjwjwW[WdWdefWf}~'59/3/?/?/M4++gkgtgtTXTaTabcTcz{mmd&6&669J9JJ'q9151B1B4==1PD--jnjwjwW[WdWdefWf}~'59/3/?/?/M4++gkgtgtTXTaTabcTcz{T]]2Q6)=)==(<(<<>>! MMDNN:Q>DMDN=='!^^t}}T^^/KLDN NNDM~~a!"!]]Q.79=qT]]1_a!59]]4>>5QqW[WeWemm',T^^DMM!O'LN!ANNs   0	Nc                     i }| j                   |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   |S )Nr   r   r   r   r   r    r"   )r   r   r   r   r   r    r"   )r   ps     r   get_data_dictzPaginator.get_data_dict3   sr    + --.*$($=$=
 ! $ 5 5
kk(//,r   N)r   <      )__name__
__module____qualname__r   r   r(    r   r   r   r      s    OD	r   r   N)__doc__r   r.   r   r   <module>r0      s   5 5r   