Commit dc355141 authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

New paginator for web_backend

parent 95874a84
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-17 22:11+0300\n"
"POT-Creation-Date: 2016-11-21 11:36+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -273,6 +273,10 @@ msgid "Doubles count:"
msgstr "Число дубликатов:"

#: .\opds_catalog\tests\test_feeds.py:76
#, python-format
msgid "All books by %(last_name)s %(first_name)s"
msgstr "Все книги автора %(last_name)s %(first_name)s"
#, fuzzy, python-format
#| msgid "All books by %(author)s"
msgid "All books by %(full_name)s"
msgstr "Все книги автора %(author)s"

#~ msgid "All books by %(last_name)s %(first_name)s"
#~ msgstr "Все книги автора %(last_name)s %(first_name)s"
+60 −0
Original line number Diff line number Diff line
'''
Created on 21 нояб. 2016 г.

@author: mitsh
'''

class Paginator:
    def __init__(self, d1_count, d2_count, page_num=1, maxitems=60, half_pages_link = 3):
        self.d1_count = d1_count
        self.d2_count = d2_count
        self.MAXITEMS = maxitems
        self.HALF_PAGES_LINK = half_pages_link
        self.page_num = page_num      
        self.calc_data()                   
        pass
    
    def calc_data(self):
        d1_MAXITEMS = self.MAXITEMS
        self.d1_first_pos = d1_MAXITEMS*(self.page_num-1);
        self.d1_first_pos = self.d1_first_pos if self.d1_first_pos<self.d1_count else self.d1_count
        self.d1_last_pos =  d1_MAXITEMS*self.page_num - 1;
        self.d1_last_pos = self.d1_last_pos if self.d1_last_pos<self.d1_count else self.d1_count   
        
        d2_MAXITEMS = self.MAXITEMS - self.d1_last_pos + self.d1_first_pos
        self.d2_first_pos = d2_MAXITEMS*(self.page_num-1);
        self.d2_first_pos = self.d2_first_pos if self.d2_first_pos<self.d2_count else self.d2_count
        self.d2_last_pos =  d2_MAXITEMS*self.page_num - 1;
        self.d2_last_pos = self.d2_last_pos if self.d2_last_pos<self.d2_count else self.d2_count
        
        self.num_pages = int((self.d1_count+self.d2_count)/self.MAXITEMS)+1
        self.firstpage = self.page_num - self.HALF_PAGES_LINK
        self.lastpage = self.page_num + self.HALF_PAGES_LINK
        if self.firstpage<1:
            self.lastpage = self.lastpage - self.firstpage + 1
            self.firstpage = 1
            
        if self.lastpage>self.num_pages:
            self.firstpage = self.firstpage - (self.lastpage-self.num_pages)
            self.lastpage = self.num_pages
            if self.firstpage<1:
                self.firstpage = 1
                
        self.has_previous = (self.page_num > 1)
        self.has_next = (self.page_num < self.num_pages)
        self.previous_page_number = (self.page_num-1) if self.page_num>1 else 1
        self.next_page_number = (self.page_num+1) if self.page_num<self.num_pages else self.num_pages
        self.number = self.page_num
        self.page_range = [ i for i in range(self.firstpage,self.lastpage+1) ]
                   
    
    def get_data_dict(self):
        p = {}
        p['num_pages'] = self.num_pages
        p['has_previos'] = self.has_previous
        p['has_next'] = self.has_next
        p['previous_page_number'] = self.previous_page_number
        p['next_page_number'] = self.next_page_number
        p['number'] = self.number    
        p['page_range'] = self.page_range      
        return p
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -136,11 +136,11 @@ STATIC_ROOT = 'static'
#
# SIMPLE OPDS SETTINGS
#
#SOPDS_ROOT_LIB = 'W:\\_Downloads\\_Lib.rus.ec - Официальная\\lib.rus.ec\\'
SOPDS_ROOT_LIB = 'W:\\_Downloads\\_Lib.rus.ec - Официальная\\lib.rus.ec\\'
#SOPDS_ROOT_LIB = '/mnt/SATA1TB-1/КНИГИ/BOOKS/'
#SOPDS_ROOT_LIB = '/mnt/nfs/КНИГИ/BOOKS/'
#SOPDS_ROOT_LIB = os.path.join(BASE_DIR,'opds_catalog\\tests\\data\\')
SOPDS_ROOT_LIB = "d:\\BOOKS\\"
#SOPDS_ROOT_LIB = "d:\\BOOKS\\"


SOPDS_AUTH = True
Loading