laserweb/models.py

28 lines
669 B
Python

from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
db = SQLAlchemy()
class Session(db.Model):
__tablename__ = 'sessions'
id = db.Column(db.Integer, primary_key=True)
user = db.Column(db.String)
start = db.Column(db.DateTime, default=datetime.utcnow)
end = db.Column(db.DateTime)
@classmethod
def get_current(cls):
return Session.query.filter(Session.end.is_(None)).first()
@property
def interval(self):
if self.end:
return self.end - self.start
return datetime.utcnow() - self.start
def finish(self):
if not self.end:
self.end = datetime.utcnow()