def get_activity_buttons(self, state, update: Update): def get_keyboard_by_names(names): keyboard = list() i = 0 for name in names: button = { "name": name, "action": "select_activity", "callback": True } if i % 2 == 0: keyboard.append([button]) else: keyboard[i // 2].append(button) i += 1 return keyboard activity_names = DB.get_user_personal_activities(state['u_id']) names = [] for activity in activity_names: if activity['name'] not in names and activity['id'] != 0: names.append(activity['name']) i = self.IN_PAGE * (int(state['page']) - 1) return get_keyboard_by_names(names[i:i + 4])
def is_next_hidden(self, state, update: Update): length = len(DB.get_user_personal_activities(state['u_id'])) page_count = ceil(length / self.IN_PAGE) if page_count <= int(state['page']): return True return False