diff options
author | rubenwardy <rw@rubenwardy.com> | 2019-01-08 17:37:33 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2019-01-08 17:37:33 +0000 |
commit | 9639cf04f1b54865884850d608f08b5df4afe169 (patch) | |
tree | 871a03bc37826a760f44e60c50b68fac880c4eee /app/querybuilder.py | |
parent | 9866e43b4b4c7ff5c2338e1ed681661496800db7 (diff) | |
download | cheatdb-9639cf04f1b54865884850d608f08b5df4afe169.tar.xz |
Improve views subfoldering
Diffstat (limited to 'app/querybuilder.py')
-rw-r--r-- | app/querybuilder.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/app/querybuilder.py b/app/querybuilder.py index 9406406..a7f1323 100644 --- a/app/querybuilder.py +++ b/app/querybuilder.py @@ -28,13 +28,16 @@ class QueryBuilder: self.order_by = args.get("sort") or "score" self.order_dir = args.get("order") or "desc" + if self.search is not None and self.search.strip() == "": + self.search = None + def buildPackageQuery(self): query = Package.query.filter_by(soft_deleted=False, approved=True) if len(self.types) > 0: query = query.filter(Package.type.in_(self.types)) - if self.search is not None and self.search.strip() != "": + if self.search: query = query.filter(Package.title.ilike('%' + self.search + '%')) if self.random: @@ -69,17 +72,14 @@ class QueryBuilder: def buildTopicQuery(self): topics = ForumTopic.query \ .filter(~ db.exists().where(Package.forums==ForumTopic.topic_id)) \ - .order_by(db.asc(ForumTopic.wip), db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \ - .filter(ForumTopic.title.ilike('%' + self.search + '%')) + .order_by(db.asc(ForumTopic.wip), db.asc(ForumTopic.name), db.asc(ForumTopic.title)) + + if self.search: + topics = topics.filter(ForumTopic.title.ilike('%' + self.search + '%')) if len(self.types) > 0: topics = topics.filter(ForumTopic.type.in_(self.types)) - if self.hide_nonfree: - topics = topics \ - .filter(Package.license.has(License.is_foss == True)) \ - .filter(Package.media_license.has(License.is_foss == True)) - if self.limit: topics = topics.limit(self.limit) |