From 0732f956c29047ca6e7c3c2cd1ba6c76b497923a Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 25 Aug 2011 11:51:18 +0200 Subject: [PATCH] bug fix in memcached session handling: avoid overwriting/clearing old session data when data with another package name are stored --- session/memcached.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/session/memcached.py b/session/memcached.py index 55f7eed..f669646 100644 --- a/session/memcached.py +++ b/session/memcached.py @@ -46,8 +46,14 @@ class SessionDataContainer(object): def __setitem__(self, key, value): client = component.getUtility(IMemcachedClient) - #print '***', key, value - client.set(value, key, lifetime=self.lifetime, ns=self.namespace) + oldValue = client.query(key, ns=self.namespace) + if oldValue: + oldValue.update(value) + newValue = oldValue + else: + newValue = value + #print '***', oldValue, value, newValue + client.set(newValue, key, lifetime=self.lifetime, ns=self.namespace) class Session(object):