Add attachement.py
This commit is contained in:
parent
19e4ee2e30
commit
229551a218
|
@ -0,0 +1,32 @@
|
|||
from app import db
|
||||
from hashlib import sha256
|
||||
import os
|
||||
|
||||
class Attachement(db.Model):
|
||||
__tablename__ = 'attachement'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
|
||||
# Original name of the file
|
||||
name = db.Column(db.Unicode(64))
|
||||
|
||||
# Hash of the value
|
||||
hashed = db.Column(db.Unicode(64))
|
||||
|
||||
# The comment linked with
|
||||
comment_id = db.Column(db.Integer, db.ForeignKey('comment.id'), nullable=False)
|
||||
comment = db.relationship('Comment', backref=backref('attachments', lazy='dynamic'))
|
||||
|
||||
# The size of the file
|
||||
size = db.Column(db.Integer)
|
||||
|
||||
def __init__(self, file, comment):
|
||||
self.name = file.filename
|
||||
self.size = os.stat(file).st_size
|
||||
self.hashed = str(hash_file(file))
|
||||
self.comment = comment
|
||||
|
||||
def hash_file(file):
|
||||
with open(file,"rb") as f:
|
||||
bytes = f.read() # read entire file as bytes
|
||||
hashed = hashlib.sha256(bytes).hexdigest()
|
||||
return hashed
|
Loading…
Reference in New Issue