From fc04d8f2629e5fef10cf62749e7c91e6b7d2d557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s=20Rocha?= Date: Wed, 24 Sep 2014 15:17:46 -0400 Subject: [PATCH] Use strings instead of tuples as keys in SessionKeyValueStore Some Django packages expect only strings as keys in the user session, and it is also a recommended practice in the Django manual. --- .../contentstore/views/session_kv_store.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/cms/djangoapps/contentstore/views/session_kv_store.py b/cms/djangoapps/contentstore/views/session_kv_store.py index b04aa7b194..6e121ff508 100644 --- a/cms/djangoapps/contentstore/views/session_kv_store.py +++ b/cms/djangoapps/contentstore/views/session_kv_store.py @@ -5,18 +5,23 @@ from __future__ import absolute_import from xblock.runtime import KeyValueStore + +def stringify(key): + return repr(tuple(key)) + + class SessionKeyValueStore(KeyValueStore): def __init__(self, request): self._session = request.session def get(self, key): - return self._session[tuple(key)] + return self._session[stringify(key)] def set(self, key, value): - self._session[tuple(key)] = value + self._session[stringify(key)] = value def delete(self, key): - del self._session[tuple(key)] + del self._session[stringify(key)] def has(self, key): - return tuple(key) in self._session + return stringify(key) in self._session