def logout(self): self.app.log('Logout user: %s.' % self.app.current_user) self.app.current_user = None session = Session.get(Session.session_id == self.session_id) session.active = False session.save() self.session_id = None response.delete_cookie(self.key)
def __setitem__(self, key, value): pickled = self.encode(value) now = datetime.datetime.now() s = Session.get(key) if s : s.data = pickled else: s = Session(key, now, pickled) config.orm.add(s)
def __setitem__(self, key, value): pickled = self.encode(value) now = datetime.datetime.now() s = Session.get(key) if s: s.data = pickled else: s = Session(key, now, pickled) config.orm.add(s)
def is_logged_in(): if 'session_token' in session: try: sesh = Session.get(token=session['session_token']) return jsonify({'loggedin': True}),200 except: return jsonify({'loggedin': False}), 200 else: return jsonify({'loggedin': False}), 200
def load_user(self): if self.session_id is not None: self.app.log(self.session_id) session = Session.get(Session.session_id == self.session_id) if session.active: self.app.current_user = User.get(User.mail == session.mail) else: self.app.current_user = None self.session_id = None else: self.app.current_user = None
def wrapper(*args, **kwargs): if 'session_token' in session: try: # lower case session is a flask keyword, hence the sesh sesh = Session.get(token = session['session_token']) if datetime.now() - sesh.created_at > timedelta(days=14): del session['session_token'] return jsonify({'error': True}), 403 else: return view(*args, **kwargs) except: return jsonify({'error': True}), 403 else: return jsonify({'error': True}), 403
def __delitem__(self, key): s = Session.get(key) config.orm.delete(s)
def __getitem__(self, key): now = datetime.datetime.now() s = Session.get(key) s.atime = now return self.decode(s.data)
def __contains__(self, key): s = Session.get(key) return s and not s in config.orm.deleted
def get_user(): sesh = Session.get(token=session['session_token']) user = sesh.user return user
def current_user(): if 'session_token' in session: user = Session.get(token=session['session_token']).user return jsonify(user.to_dict) else: return jsonify({}), 204