from flask import session, flash from .models import Sessions from argon2 import PasswordHasher import time ph = PasswordHasher() def digest(password): return ph.hash(password) def verify(expected, given): try: return ph.verify(expected, given) except: return False def is_logged_in(): if "pyrom_session_key" not in session: return False sess = Sessions.find({"key": session["pyrom_session_key"]}) if not sess: return False if sess.expires_at < int(time.time()): session.clear() sess.delete() # flash('Your session expired.;Please log in again.', InfoboxKind.INFO) return False return True