src/pyams_utils/session.py
changeset 72 9049384a2bd4
parent 1 3f89629b9e54
child 100 119b9c2f3022
--- 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