def initialize(self, start, end, size): """ Calculate effective start, end, length and pagesize values """ start, end, sz = opt(start, end, size, self.orphan, self.sequence_length) self.pagesize = sz self.start = start self.end = end self.first = max(start - 1, 0) if self.beyond: self.first = self.end self.length = self.end - self.first self.last = self.sequence_length - size # Set up the total number of pages self.numpages = calculate_pagenumber( self.sequence_length - self.orphan, self.pagesize, self.overlap) # Set up the current page number self._pagenumber = calculate_pagenumber( self.start, self.pagesize, self.overlap) # Make sure self._pagenumber is <= self.numpages if self._pagenumber > self.numpages: self._pagenumber = self.numpages
def initialize(self, start, end, size): """ Calculate effective start, end, length and pagesize values """ start, end, sz = opt(start, end, size, self.orphan, self.sequence_length) self.pagesize = sz self.start = start self.end = end self.first = max(start - 1, 0) if self.beyond: self.first = self.end self.length = self.end - self.first self.last = self.sequence_length - size # Set up the total number of pages self.numpages = calculate_pagenumber( self.sequence_length - self.orphan, self.pagesize, self.overlap) # Set up the current page number self._pagenumber = calculate_pagenumber(self.start, self.pagesize, self.overlap) # Make sure self._pagenumber is <= self.numpages if self._pagenumber > self.numpages: self._pagenumber = self.numpages
def __init__(self, batch, pagerange=7): self.batch = batch # Set up the total number of pages self.numpages = calculate_pagenumber(len(self.batch.sequence), self.batch.size) # Set up the current page number self.pagenumber = calculate_pagenumber(self.batch.start + 1, self.batch.size) # Set up pagerange for the navigation quick links self.pagerange, self.pagerangestart, self.pagerangeend = ( calculate_pagerange(self.pagenumber, self.numpages, pagerange)) # Set up the lists for the navigation: 4 5 [6] 7 8 # navlist is the complete list, including pagenumber # prevlist is the 4 5 in the example above # nextlist is 7 8 in the example above self.navlist = self.prevlist = self.nextlist = [] if self.pagerange and self.numpages >= 1: self.navlist = range(self.pagerangestart, self.pagerangeend) self.prevlist = range(self.pagerangestart, self.pagenumber) self.nextlist = range(self.pagenumber + 1, self.pagerangeend)
def test_calculate_pagenumber_zerobatch(self): self.assertEqual(calculate_pagenumber(5, 0), 5)
def test_calculate_pagenumber(self): self.assertEqual(calculate_pagenumber(5, 2), 3)