From 750d60c65c8607a6adbcda826af93818fae5c8be Mon Sep 17 00:00:00 2001 From: Sourcery AI <> Date: Sat, 11 Dec 2021 01:12:44 +0000 Subject: [PATCH] 'Refactored by Sourcery' --- pyromod/nav/pagination.py | 41 +++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/pyromod/nav/pagination.py b/pyromod/nav/pagination.py index 37a4d7e..4c7a888 100644 --- a/pyromod/nav/pagination.py +++ b/pyromod/nav/pagination.py @@ -35,12 +35,12 @@ def create(self, page, lines=5, columns=1): offset = (page-1)*quant_per_page stop = offset+quant_per_page cutted = self.objects[offset:stop] - + total = len(self.objects) pages_range = [*range(1, math.ceil(total/quant_per_page)+1)] # each item is a page last_page = len(pages_range) - - + + nav = [] if page <= 3: for n in [1,2,3]: @@ -57,29 +57,36 @@ def create(self, page, lines=5, columns=1): (f'{last_page} »' if last_page > 5 else last_page, self.page_data(last_page)) ) elif page >= last_page-2: - nav.extend([ - (f'« 1' if last_page-4 > 1 else 1, self.page_data(1)), - (f'‹ {last_page-3}' if last_page-4 > 1 else last_page-3, self.page_data(last_page-3)) - ]) + nav.extend( + [ + ('« 1' if last_page > 5 else 1, self.page_data(1)), + ( + f'‹ {last_page-3}' if last_page > 5 else last_page - 3, + self.page_data(last_page - 3), + ), + ] + ) + for n in range(last_page-2, last_page+1): text = f"· {n} ·" if n == page else n nav.append( (text, self.page_data(n)) ) else: nav = [ - (f'« 1', self.page_data(1)), - (f'‹ {page-1}', self.page_data(page-1)), + ('« 1', self.page_data(1)), + (f'‹ {page-1}', self.page_data(page - 1)), (f'· {page} ·', "noop"), - (f'{page+1} ›', self.page_data(page+1)), + (f'{page+1} ›', self.page_data(page + 1)), (f'{last_page} »', self.page_data(last_page)), ] - - buttons = [] - for item in cutted: - buttons.append( - (self.item_title(item, page), self.item_data(item, page)) - ) + + + buttons = [ + (self.item_title(item, page), self.item_data(item, page)) + for item in cutted + ] + kb_lines = array_chunk(buttons, columns) if last_page > 1: kb_lines.append(nav) - + return kb_lines \ No newline at end of file