aboutsummaryrefslogtreecommitdiff
path: root/app/querybuilder.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2019-01-08 17:37:33 +0000
committerrubenwardy <rw@rubenwardy.com>2019-01-08 17:37:33 +0000
commit9639cf04f1b54865884850d608f08b5df4afe169 (patch)
tree871a03bc37826a760f44e60c50b68fac880c4eee /app/querybuilder.py
parent9866e43b4b4c7ff5c2338e1ed681661496800db7 (diff)
downloadcheatdb-9639cf04f1b54865884850d608f08b5df4afe169.tar.xz
Improve views subfoldering
Diffstat (limited to 'app/querybuilder.py')
-rw-r--r--app/querybuilder.py16
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)