diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-07-12 17:56:06 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2020-07-12 17:56:06 +0100 |
commit | 2faa0e42195fdf46ff6e647c250da7d438798c59 (patch) | |
tree | 5a4e9af388d3f4a660a0065cbe294d6c2ca75213 /app/querybuilder.py | |
parent | 2e3a9035c49217c7d539417762c66a969a8d3bb1 (diff) | |
download | cheatdb-2faa0e42195fdf46ff6e647c250da7d438798c59.tar.xz |
Fix query sorting further
Diffstat (limited to 'app/querybuilder.py')
-rw-r--r-- | app/querybuilder.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/app/querybuilder.py b/app/querybuilder.py index 84513e9..26c0b84 100644 --- a/app/querybuilder.py +++ b/app/querybuilder.py @@ -70,7 +70,7 @@ class QueryBuilder: query = query.filter(Package.type.in_(self.types)) if self.search: - query = query.search(self.search, sort=True) + query = query.search(self.search, sort=self.order_by is None) if self.random: query = query.order_by(func.random()) @@ -78,7 +78,7 @@ class QueryBuilder: to_order = None if self.order_by is None and self.search: pass - if self.order_by is None or self.order_by == "score": + elif self.order_by is None or self.order_by == "score": to_order = Package.score elif self.order_by == "name": to_order = Package.name @@ -91,14 +91,15 @@ class QueryBuilder: else: abort(400) - if self.order_dir == "asc": - to_order = db.asc(to_order) - elif self.order_dir == "desc": - to_order = db.desc(to_order) - else: - abort(400) + if to_order: + if self.order_dir == "asc": + to_order = db.asc(to_order) + elif self.order_dir == "desc": + to_order = db.desc(to_order) + else: + abort(400) - query = query.order_by(to_order) + query = query.order_by(to_order) if self.author: author = User.query.filter_by(username=self.author).first() |