parts/django/tests/regressiontests/test_client_regress/session.py
changeset 307 c6bca38c1cbf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parts/django/tests/regressiontests/test_client_regress/session.py	Sat Jan 08 11:20:57 2011 +0530
@@ -0,0 +1,30 @@
+from django.contrib.sessions.backends.base import SessionBase
+
+class SessionStore(SessionBase):
+    """
+    A simple cookie-based session storage implemenation.
+
+    The session key is actually the session data, pickled and encoded.
+    This means that saving the session will change the session key.
+    """
+    def __init__(self, session_key=None):
+        super(SessionStore, self).__init__(session_key)
+
+    def exists(self, session_key):
+        return False
+
+    def create(self):
+        self.session_key = self.encode({})
+
+    def save(self, must_create=False):
+        self.session_key = self.encode(self._session)
+
+    def delete(self, session_key=None):
+        self.session_key = self.encode({})
+
+    def load(self):
+        try:
+            return self.decode(self.session_key)
+        except:
+            self.modified = True
+            return {}
\ No newline at end of file