|
@@ -12,6 +12,8 @@ from flask_login import UserMixin
|
|
from app import db, argon2, login_manager
|
|
from app import db, argon2, login_manager
|
|
|
|
|
|
|
|
|
|
|
|
+ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
|
|
|
|
+
|
|
page_file = db.Table(
|
|
page_file = db.Table(
|
|
'page_file',
|
|
'page_file',
|
|
db.Column(
|
|
db.Column(
|
|
@@ -115,6 +117,16 @@ class File(db.Model):
|
|
path = db.Column(db.String, nullable=False)
|
|
path = db.Column(db.String, nullable=False)
|
|
identifier = db.Column(db.String)
|
|
identifier = db.Column(db.String)
|
|
|
|
|
|
|
|
+ def extension(self):
|
|
|
|
+ """Return file extension"""
|
|
|
|
+ return '.' in self.path and self.path.rsplit('.', 1)[1].lower()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def is_image(self):
|
|
|
|
+ """True if file is image"""
|
|
|
|
+ return self.extension() in ALLOWED_EXTENSIONS
|
|
|
|
+
|
|
|
|
+
|
|
user_id = db.Column(
|
|
user_id = db.Column(
|
|
db.Integer,
|
|
db.Integer,
|
|
db.ForeignKey("user.id")
|
|
db.ForeignKey("user.id")
|