aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-07-17 20:48:51 +0100
committerrubenwardy <rw@rubenwardy.com>2020-07-17 20:48:51 +0100
commit6a674c3c79437c7b4829947c67dd7f14b32c1941 (patch)
tree0830107ee78e80e61312c90c35a84c6154f6970a /app/models.py
parent0ac2827468a5d18536a9066033e0ad4a4767edbb (diff)
downloadcheatdb-6a674c3c79437c7b4829947c67dd7f14b32c1941.tar.xz
Add Content Warnings
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/models.py b/app/models.py
index e6ff6f0..b2dbcc0 100644
--- a/app/models.py
+++ b/app/models.py
@@ -358,6 +358,11 @@ Tags = db.Table("tags",
db.Column("package_id", db.Integer, db.ForeignKey("package.id"), primary_key=True)
)
+ContentWarnings = db.Table("content_warnings",
+ db.Column("content_warning_id", db.Integer, db.ForeignKey("content_warning.id"), primary_key=True),
+ db.Column("package_id", db.Integer, db.ForeignKey("package.id"), primary_key=True)
+)
+
maintainers = db.Table("maintainers",
db.Column("user_id", db.Integer, db.ForeignKey("user.id"), primary_key=True),
db.Column("package_id", db.Integer, db.ForeignKey("package.id"), primary_key=True)
@@ -488,6 +493,9 @@ class Package(db.Model):
tags = db.relationship("Tag", secondary=Tags, lazy="select",
backref=db.backref("packages", lazy=True))
+ content_warnings = db.relationship("ContentWarning", secondary=ContentWarnings, lazy="select",
+ backref=db.backref("packages", lazy=True))
+
releases = db.relationship("PackageRelease", backref="package",
lazy="dynamic", order_by=db.desc("package_release_releaseDate"))
@@ -816,6 +824,23 @@ class MetaPackage(db.Model):
return retval
+
+class ContentWarning(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+ name = db.Column(db.String(100), unique=True, nullable=False)
+ title = db.Column(db.String(100), nullable=False)
+ description = db.Column(db.String(500), nullable=False)
+
+ def __init__(self, title, description=""):
+ self.title = title
+ self.description = description
+
+ import re
+ regex = re.compile("[^a-z_]")
+ self.name = regex.sub("", self.title.lower().replace(" ", "_"))
+
+
+
class Tag(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), unique=True, nullable=False)