Add Content Warnings

This commit is contained in:
rubenwardy
2020-07-17 20:48:51 +01:00
parent 0ac2827468
commit 6a674c3c79
10 changed files with 251 additions and 17 deletions

View File

@@ -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)