app/soc/cache/sidebar.py
changeset 1033 71ff49dbb4b6
parent 1029 a312e7007811
child 1307 091a21cf3627
equal deleted inserted replaced
1032:ed83d42d1ed7 1033:71ff49dbb4b6
    24 
    24 
    25 from google.appengine.api import memcache
    25 from google.appengine.api import memcache
    26 from google.appengine.api import users
    26 from google.appengine.api import users
    27 
    27 
    28 import soc.cache.base
    28 import soc.cache.base
       
    29 import soc.cache.rights
    29 
    30 
    30 
    31 
    31 def key(id):
    32 def key(id):
    32   """Returns the memcache key for the user's sidebar.
    33   """Returns the memcache key for the user's sidebar.
    33   """
    34   """
    55 
    56 
    56   memcache_key = key(id)
    57   memcache_key = key(id)
    57   memcache.add(memcache_key, sidebar, retention)
    58   memcache.add(memcache_key, sidebar, retention)
    58 
    59 
    59 
    60 
    60 def flush(user=None):
    61 def flush(id=None):
    61   """Removes the sidebar for the current user from the memcache.
    62   """Removes the sidebar for the current user from the memcache.
    62 
    63 
       
    64   Also calls soc.cache.rights.flush for the specified user.
       
    65 
    63   Args:
    66   Args:
    64     user: defaults to the current user if not set
    67     id: defaults to the current account if not set
    65   """
    68   """
    66 
    69 
    67   if not user:
    70   if not id:
    68     user = users.get_current_user()
    71     id = users.get_current_user()
    69 
    72 
    70   memcache_key = key(user)
    73   memcache_key = key(id)
    71   memcache.delete(memcache_key)
    74   memcache.delete(memcache_key)
       
    75   soc.cache.rights.flush(id)
    72 
    76 
    73 
    77 
    74 # define the cache function
    78 # define the cache function
    75 cache = soc.cache.base.getCacher(get, put)
    79 cache = soc.cache.base.getCacher(get, put)