Add Content Warnings
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user