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>