def update(self, session_id): user_session = self.get_session_entry(session_id) user_session.expires = self.get_new_expiration() user_session.last_access_at = naive_to_aware( datetime.datetime.utcnow()) self.db_session.add(user_session) self.db_session.commit() return user_session.session_id
def create_new_session_id(self, **kwargs): session_id = self.sa_models.UserSession.create_id() user_session = self.sa_models.UserSession( anonymous=kwargs.pop('anonymous'), session_name=kwargs.pop('session_name'), session_id=session_id, expires=self.get_new_expiration(), last_access_at=naive_to_aware(datetime.datetime.utcnow())) self.db_session.add(user_session) self.db_session.commit() return user_session.session_id
def get_new_expiration(self, _from=None, expires=None): ''' 1. _from must be datetime 2. expires must be timedelta ''' if not _from: _from = naive_to_aware(datetime.datetime.utcnow()) if not expires: expires = self.SESSION_EXPIRES return _from + expires
def expired(self): session_id = self.cookie_request.get() if not session_id: return True now = naive_to_aware(datetime.datetime.utcnow(), pytz.timezone('UTC')) expire = to_utc(self.server_session.get_session_entry( session_id).expires) if now > expire: return True else: return False