diff options
| author | rubenwardy <rw@rubenwardy.com> | 2018-10-03 17:06:16 +0100 |
|---|---|---|
| committer | rubenwardy <rw@rubenwardy.com> | 2018-10-03 17:06:16 +0100 |
| commit | 328d05bdf647effac1cdb444e36a0debb5d93a02 (patch) | |
| tree | 0c508bc740e91709f493f8753cdf15d0ec4af992 /app/views | |
| parent | 2229b32c90fa9ea2b8312cb9367d6bae17649b4b (diff) | |
| download | cheatdb-328d05bdf647effac1cdb444e36a0debb5d93a02.tar.xz | |
Add option to hide non-free packages in API
Diffstat (limited to 'app/views')
| -rw-r--r-- | app/views/packages/__init__.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py index 7181b5b..8ac5a83 100644 --- a/app/views/packages/__init__.py +++ b/app/views/packages/__init__.py @@ -51,6 +51,7 @@ class QueryBuilder: self.types = types self.search = request.args.get("q") self.lucky = "lucky" in request.args + self.hide_nonfree = isNo(request.args.get("nonfree")) self.limit = 1 if self.lucky else None def buildPackageQuery(self): @@ -64,6 +65,10 @@ class QueryBuilder: query = query.order_by(db.desc(Package.score)) + if self.hide_nonfree: + query = query.filter(Package.license.has(License.is_foss == True)) + query = query.filter(Package.media_license.has(License.is_foss == True)) + if self.limit: query = query.limit(self.limit) @@ -78,6 +83,10 @@ class QueryBuilder: if len(self.types) > 0: topics = topics.filter(ForumTopic.type.in_(self.types)) + if self.hide_nonfree: + query = query.filter(Package.license.has(License.is_foss == True)) + query = query.filter(Package.media_license.has(License.is_foss == True)) + if self.limit: topics = topics.limit(self.limit) |
