From df80be2c147adb9dc454fe152e295dc6d973da7a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 27 Apr 2019 16:16:06 +0100 Subject: [PATCH] wiki: Let search function return a list of pages instead of a generator Signed-off-by: Michael Tremer --- src/backend/wiki.py | 9 ++++++--- src/web/wiki.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/backend/wiki.py b/src/backend/wiki.py index 53fe6a97..a390ce37 100644 --- a/src/backend/wiki.py +++ b/src/backend/wiki.py @@ -99,18 +99,21 @@ class Wiki(misc.Object): ORDER BY ts_rank(search_index.document, to_tsquery('english', %s)) DESC", query, query) + pages = [] for page in res: # Skip any pages the user doesn't have permission for if not page.check_acl(account): continue # Return any other pages - yield page + pages.append(page) - limit -= 1 - if not limit: + # Break when we have found enough pages + if limit and len(pages) >= limit: break + return pages + def refresh(self): """ Needs to be called after a page has been changed diff --git a/src/web/wiki.py b/src/web/wiki.py index 1aae7e1d..a997ed4a 100644 --- a/src/web/wiki.py +++ b/src/web/wiki.py @@ -228,7 +228,7 @@ class SearchHandler(auth.CacheMixin, base.BaseHandler): pages = self.backend.wiki.search(q, account=self.current_user, limit=50) - self.render("wiki/search-results.html", q=q, pages=list(pages)) + self.render("wiki/search-results.html", q=q, pages=pages) class RecentChangesHandler(auth.CacheMixin, base.BaseHandler): -- 2.39.2