[Erp5-report] r29455 - /erp5/trunk/products/ERP5Type/CachePlugins/RamCache.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Oct 7 17:41:05 CEST 2009


Author: nicolas
Date: Wed Oct  7 17:41:05 2009
New Revision: 29455

URL: http://svn.erp5.org?rev=29455&view=rev
Log:
Check that CacheEntry is not expired in has_key.
If so, delete cached value and return False.

Modified:
    erp5/trunk/products/ERP5Type/CachePlugins/RamCache.py

Modified: erp5/trunk/products/ERP5Type/CachePlugins/RamCache.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/CachePlugins/RamCache.py?rev=29455&r1=29454&r2=29455&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/CachePlugins/RamCache.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/CachePlugins/RamCache.py [utf8] Wed Oct  7 17:41:05 2009
@@ -109,7 +109,15 @@
 
   def has_key(self, cache_id, scope):
     cache = self.getCacheStorage()
-    return cache.has_key((scope, cache_id))
+    cache_entry = cache.get((scope, cache_id))
+    to_return = False
+    if isinstance(cache_entry, CacheEntry):
+      if cache_entry.isExpired():
+        #Delete expired CacheEntry
+        self.delete(cache_id, scope)
+      else:
+        to_return = True
+    return to_return
 
   def getScopeList(self):
     scope_set = set()




More information about the Erp5-report mailing list