# 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 cleanCache(self):
"""loesche den cache"""
for x in self.ZopeFind(self):
if isinstance(x[1],CDLICacheObj):
self.manage_delObjects([x[0]], None)
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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>