diff options
Diffstat (limited to 'fbin/db.py')
-rw-r--r-- | fbin/db.py | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -4,7 +4,7 @@ import mimetypes import os from flask import current_app -from sqlalchemy import create_engine, Column, Integer, String, DateTime, Text, Index, ForeignKey, Boolean, JSON +from sqlalchemy import create_engine, Column, Integer, String, DateTime, Text, Index, ForeignKey, Boolean, JSON, BigInteger from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker, relation, backref from sqlalchemy.orm.exc import NoResultFound @@ -48,6 +48,7 @@ class File(Base): id = Column(Integer, primary_key = True) hash = Column(String, unique = True, index = True) filename = Column(String) + size = Column(BigInteger) date = Column(DateTime) user_id = Column(Integer, ForeignKey('users.id'), nullable = True) ip = Column(String) @@ -55,9 +56,10 @@ class File(Base): scanned = Column(Boolean, nullable=False, default=False) blocked_reason = Column(JSON) - def __init__(self, hash, filename, date, user_id = None, ip = None): + def __init__(self, hash, filename, size, date, user_id = None, ip = None): self.hash = hash self.filename = filename + self.size = size self.date = date self.user_id = user_id self.ip = ip @@ -82,6 +84,8 @@ class File(Base): def get_size(self): try: + if self.size: + return self.size return os.path.getsize(self.get_path()) except OSError: return None |