Show
Ignore:
Timestamp:
10/06/03 15:12:28 (21 years ago)
Author:
jalet
Message:

More work on caching

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/storage.py

    r1132 r1137  
    2121# 
    2222# $Log$ 
     23# Revision 1.22  2003/10/06 13:12:27  jalet 
     24# More work on caching 
     25# 
    2326# Revision 1.21  2003/10/03 09:02:20  jalet 
    2427# Logs cache store actions too 
     
    385388        return lastjob     
    386389         
     390    def getGroupMembers(self, group) :         
     391        """Returns the group's members list from in-group cache.""" 
     392        if self.usecache : 
     393            if not hasattr(group, "Members") : 
     394                self.tool.logdebug("Cache miss (%s->Members)" % group.Name) 
     395                group.Members = self.getGroupMembersFromBackend(group) 
     396                self.tool.logdebug("Cache store (%s->Members)" % group.Name) 
     397            else : 
     398                self.tool.logdebug("Cache hit (%s->Members)" % group.Name) 
     399        else :         
     400            group.Members = self.getGroupMembersFromBackend(group) 
     401        return group.Members     
     402         
     403    def getUserGroups(self, user) :         
     404        """Returns the user's groups list from in-user cache.""" 
     405        if self.usecache : 
     406            if not hasattr(user, "Groups") : 
     407                self.tool.logdebug("Cache miss (%s->Groups)" % user.Name) 
     408                user.Groups = self.getUserGroupsFromBackend(user) 
     409                self.tool.logdebug("Cache store (%s->Groups)" % user.Name) 
     410            else : 
     411                self.tool.logdebug("Cache hit (%s->Groups)" % user.Name) 
     412        else :         
     413            user.Groups = self.getUserGroupsFromBackend(user) 
     414        return user.Groups    
     415         
    387416def openConnection(pykotatool) : 
    388417    """Returns a connection handle to the appropriate Quota Storage Database."""