Annotation of cdli/cdliCache.py, revision 1.2
1.1 dwinter 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)
1.2 ! dwinter 31:
! 32: def cleanCache(self):
! 33: """loesche den cache"""
! 34: for x in self.ZopeFind(self):
! 35: if isinstance(x[1],CDLICacheObj):
! 36: self.manage_delObjects([x[0]], None)
! 37:
1.1 dwinter 38:
39:
40:
41:
42: def manage_addCDLICache(self,REQUEST=None):
43: """add an cdlicache"""
44:
45: ob = CDLICache();
46: self._setObject("CDLICache",ob)
47: if REQUEST is not None:
48: return self.manage_main(self, REQUEST, update_menu=1)
49:
50: manage_addCDLICacheForm = manage_addCDLICache
51: class CDLICacheObj(SimpleItem):
52: def __init__(self,id,value):
53: self.id=id
54: self.value=value
55: def getValue(self):
56: """show thw value"""
57: return self.value
58: def setValue(self,value):
59: self.value=value
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>