diff --git a/VERSION b/VERSION index 0096d842..bf7d2152 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.00.0 (2012-08-15 17:18:21) dev +Version 2.00.0 (2012-08-15 17:24:22) dev diff --git a/gluon/contrib/memcache/__init__.py b/gluon/contrib/memcache/__init__.py index b98a72f3..5f48f9df 100644 --- a/gluon/contrib/memcache/__init__.py +++ b/gluon/contrib/memcache/__init__.py @@ -59,7 +59,9 @@ class MemcacheClientObj(Client): else: item = self.get(key) if item: - if (item[0] < now - dt): # value expired + if not isinstance(item,(list,tuple)): + value = item + elif (item[0] < now - dt): # value expired item = None # value to be computed else: value = item[1] @@ -73,7 +75,13 @@ class MemcacheClientObj(Client): newKey = self.__keyFormat__(key) obj = Client.get(self, newKey) if obj: - return Client.incr(self, newKey, value) + if isinstance(obj,(int,double,long)): + return Client.incr(self, newKey, value) + else: + value += obj[1] + Client.set(self,newKey,(time.time(),value), + self.max_time_expire) + return value else: Client.set(self, newKey, value, self.max_time_expire) return value