def _query_repo(self): repo = Repo(self.table) if self.where_query or self.custom_where: repo = repo.where(self.custom_where, **self.where_query) if self.join_args: repo = repo.inner_join(*self.join_args) if self._order_with: repo = repo.order_by(**self._order_with) if self.group_column: repo = repo.group_by(self.group_column) if self.having_args: repo = repo.having(self.having_args) if self.limit_count: repo = repo.limit(self.limit_count) return repo
def search_results(self, repo: Repo, next_funct, parameters=None, order_by="", message=""): if parameters is None: if not order_by: results = repo.get_all() else: results = repo.order_by(order_by) elif not any(parameters.values()): self.__function_stack.pop() Menu.global_message = "Returned as no parameters were input\n" return else: results = repo.multi_field_search(parameters) if results: choice, funct = self.ui.search_result_choice( results, next_funct, self.back, order_by, message ) self.next(funct, choice) else: Menu.global_message = "No results found\n" self.__function_stack.pop()