From 23c406bff9c0598f84be8dfcfa4a80f8093b05a6 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 29 Jan 2019 00:43:55 +0000 Subject: [PATCH] Add download counting --- app/models.py | 7 +++++++ app/templates/packages/view.html | 7 ++++--- app/views/packages/packages.py | 5 +++++ app/views/packages/releases.py | 5 +++++ migrations/versions/9ec17b558413_.py | 28 ++++++++++++++++++++++++++++ 5 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 migrations/versions/9ec17b558413_.py diff --git a/app/models.py b/app/models.py index f0ee43c..2337b0b 100644 --- a/app/models.py +++ b/app/models.py @@ -496,6 +496,12 @@ class Package(db.Model): return None + def getDownloadCount(self): + counter = 0 + for release in self.releases: + counter += release.downloads + return counter + def checkPerm(self, user, perm): if not user.is_authenticated: return False @@ -639,6 +645,7 @@ class PackageRelease(db.Model): approved = db.Column(db.Boolean, nullable=False, default=False) task_id = db.Column(db.String(37), nullable=True) commit_hash = db.Column(db.String(41), nullable=True, default=None) + downloads = db.Column(db.Integer, nullable=False, default=0) min_rel_id = db.Column(db.Integer, db.ForeignKey("minetest_release.id"), nullable=True, server_default=None) min_rel = db.relationship("MinetestRelease", foreign_keys=[min_rel_id]) diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html index f28a18c..47a9247 100644 --- a/app/templates/packages/view.html +++ b/app/templates/packages/view.html @@ -24,6 +24,7 @@
+ {{ package.getDownloadCount() }} downloads
{% if package.repo %}View Source{% endif %} @@ -112,7 +113,7 @@