aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-03-26 10:52:25 +0100
committerrubenwardy <rw@rubenwardy.com>2018-03-26 10:52:25 +0100
commitc19f93e36db24303b77757d5cfe6c9ec2aaee30e (patch)
treedb2a03c7a985ff6d8ed9db2147a48aabf03f36b5 /app/models.py
parent4b7bf9d778046c96a0d699700a208cdc0ab6076a (diff)
downloadcheatdb-c19f93e36db24303b77757d5cfe6c9ec2aaee30e.tar.xz
Add screenshot support
Fixes #21
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/models.py b/app/models.py
index f456e81..f3903ff 100644
--- a/app/models.py
+++ b/app/models.py
@@ -171,6 +171,8 @@ class Package(db.Model):
releases = db.relationship("PackageRelease", backref="package",
lazy="dynamic", order_by=db.desc("package_release_releaseDate"))
+ screenshots = db.relationship("PackageScreenshot", backref="package",
+ lazy="dynamic")
requests = db.relationship("EditRequest", backref="package",
lazy="dynamic")
@@ -184,7 +186,7 @@ class Package(db.Model):
"type": self.type.toName(),
"repo": self.repo,
"url": base_url + self.getDownloadURL(),
- "screenshots": [ base_url + self.getMainScreenshotURL() ]
+ "screenshots": [base_url + ss.url for ss in self.screenshots]
}
def getDetailsURL(self):
@@ -202,6 +204,13 @@ class Package(db.Model):
type=self.type.toName(),
author=self.author.username, name=self.name)
+
+
+ def getNewScreenshotURL(self):
+ return url_for("create_screenshot_page",
+ type=self.type.toName(),
+ author=self.author.username, name=self.name)
+
def getCreateReleaseURL(self):
return url_for("create_release_page",
type=self.type.toName(),
@@ -218,7 +227,7 @@ class Package(db.Model):
author=self.author.username, name=self.name)
def getMainScreenshotURL(self):
- return "/static/screenshot.png"
+ return self.screenshots[0].url if len(self.screenshots) > 0 else None
def getDownloadRelease(self):
for rel in self.releases:
@@ -277,6 +286,15 @@ class PackageRelease(db.Model):
def __init__(self):
self.releaseDate = datetime.now()
+class PackageScreenshot(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+ package_id = db.Column(db.Integer, db.ForeignKey("package.id"))
+ title = db.Column(db.String(100), nullable=False)
+ url = db.Column(db.String(100), nullable=False)
+
+ def getThumbnailURL(self):
+ return self.url # TODO
+
class EditRequest(db.Model):
id = db.Column(db.Integer, primary_key=True)