# Caache for the search results in the Basket from OFS.SimpleItem import SimpleItem from OFS.Folder import Folder import logging class CDLICache(Folder): """Cache for search results""" meta_type="CDLICache" def __init__(self): self.id="CDLICache" def retrieve(self,key): if key is None: return None logging.info("retrieve: %s"%key) obj = getattr(self,key,None) if obj is None: return None else: logging.info("---value from cache") return obj.getValue() def store(self,key,value): obj = getattr(self,key,None) if obj is None: obj=CDLICacheObj(key,value) self._setObject(key,obj) else: obj.setValue(value) def manage_addCDLICache(self,REQUEST=None): """add an cdlicache""" ob = CDLICache(); self._setObject("CDLICache",ob) if REQUEST is not None: return self.manage_main(self, REQUEST, update_menu=1) manage_addCDLICacheForm = manage_addCDLICache class CDLICacheObj(SimpleItem): def __init__(self,id,value): self.id=id self.value=value def getValue(self): """show thw value""" return self.value def setValue(self,value): self.value=value