Mercurial > farol > farol
view farol/session.py @ 178:e46fb0027e52 tip
Added tag 1.1.1 for changeset ae584cfe6252
author | Benoît Allard <benoit.allard@greenbone.net> |
---|---|
date | Thu, 08 Jan 2015 14:37:57 +0100 |
parents | ce49bd1512dd |
children |
line wrap: on
line source
# -*- encoding: utf-8 -*- # Description: # Farol Session Management # # Authors: # BenoƮt Allard <benoit.allard@greenbone.net> # # Copyright: # Copyright (C) 2014 Greenbone Networks GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. """\ Stuff related to temporary storage """ from functools import wraps import uuid from flask import session, redirect, url_for CVRFs = {} def set_current(cvrf): if 'id' not in session: # New user. session['id'] = uuid.uuid4() CVRFs[session['id']] = cvrf def get_current(): if not has_current(): return None return CVRFs[session['id']] def has_current(): if 'id' not in session: return False if session['id'] not in CVRFs: return False return CVRFs[session['id']] is not None def del_current(): if 'id' in session: if session['id'] in CVRFs: del CVRFs[session['id']] def document_required(f): @wraps(f) def decorated_function(*args, **kwargs): if not has_current(): return redirect(url_for('welcome')) return f(*args, **kwargs) return decorated_function