1: # Caache for the search results in the Basket
2:
3: from OFS.SimpleItem import SimpleItem
4: from OFS.Folder import Folder
5: import logging
6:
7: class CDLICache(Folder):
8: """Cache for search results"""
9: meta_type="CDLICache"
10: def __init__(self):
11: self.id="CDLICache"
12:
13: def retrieve(self,key):
14: if key is None:
15: return None
16: logging.info("retrieve: %s"%key)
17: obj = getattr(self,key,None)
18: if obj is None:
19: return None
20: else:
21: logging.info("---value from cache")
22: return obj.getValue()
23:
24: def store(self,key,value):
25: obj = getattr(self,key,None)
26: if obj is None:
27: obj=CDLICacheObj(key,value)
28: self._setObject(key,obj)
29: else:
30: obj.setValue(value)
31:
32:
33:
34:
35: def manage_addCDLICache(self,REQUEST=None):
36: """add an cdlicache"""
37:
38: ob = CDLICache();
39: self._setObject("CDLICache",ob)
40: if REQUEST is not None:
41: return self.manage_main(self, REQUEST, update_menu=1)
42:
43: manage_addCDLICacheForm = manage_addCDLICache
44: class CDLICacheObj(SimpleItem):
45: def __init__(self,id,value):
46: self.id=id
47: self.value=value
48: def getValue(self):
49: """show thw value"""
50: return self.value
51: def setValue(self,value):
52: self.value=value
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>