--- a/src/pyams_utils/session.py Tue Nov 15 10:43:55 2016 +0100
+++ b/src/pyams_utils/session.py Fri Nov 18 15:28:54 2016 +0100
@@ -21,12 +21,43 @@
def get_session_data(request, app, key, default=None):
- """Get data associated with a given session"""
+ """Get data associated with current user session
+
+ PyAMS session management is based on :py:mod:`Beaker` package session management.
+
+ :param request: the request from which session is extracted
+ :param str app: application name
+ :param str key: session data key for given application
+ :param default: object; requested session data, or *default* if it can't be found
+
+ .. code-block:: python
+
+ APPLICATION_KEY = 'MyApp'
+ SESSION_KEY = 'MyFunction'
+
+ def my_function(request):
+ return get_session_data(request, APPLICATION_KEY, SESSION_KEY)
+ """
session = request.session
return session.get('{0}::{1}'.format(app, key), default)
def set_session_data(request, app, key, value):
- """Set data associated to a given session"""
+ """Associate data with current user session
+
+ :param request: the request from which session is extracted
+ :param str app: application name
+ :param str key: session data key for given application
+ :param object value: any object that can be pickled can be stored into user session
+
+ .. code-block:: python
+
+ APPLICATION_KEY = 'MyApp'
+ SESSION_KEY = 'MyFunction'
+
+ def my_function(request):
+ value = {'key1': 'value1', 'key2': 'value2'}
+ set_session_data(request, APPLICATION_KEY, SESSION_KEY, value)
+ """
session = request.session
session['{0}::{1}'.format(app, key)] = value