web/request.py
changeset 10997 da712d3f0601
parent 10932 cb217b2b3463
child 11172 5a19524e59e1
equal deleted inserted replaced
10996:dc572d116731 10997:da712d3f0601
   978     @property
   978     @property
   979     def transaction_data(self):
   979     def transaction_data(self):
   980         return self.cnx.transaction_data
   980         return self.cnx.transaction_data
   981 
   981 
   982     def set_cnx(self, cnx):
   982     def set_cnx(self, cnx):
   983         if 'ecache' in cnx.transaction_data:
       
   984             del cnx.transaction_data['ecache']
       
   985         self.cnx = cnx
   983         self.cnx = cnx
   986         self.session = cnx.session
   984         self.session = cnx.session
   987         self._set_user(cnx.user)
   985         self._set_user(cnx.user)
   988         self.set_user_language(cnx.user)
   986         self.set_user_language(cnx.user)
   989 
   987 
  1019     def call_service(self, regid, **kwargs):
  1017     def call_service(self, regid, **kwargs):
  1020         return self.cnx.call_service(regid, **kwargs)
  1018         return self.cnx.call_service(regid, **kwargs)
  1021 
  1019 
  1022     # entities cache management ###############################################
  1020     # entities cache management ###############################################
  1023 
  1021 
  1024     entity_cache = _cnx_func('entity_cache')
  1022     def entity_cache(self, eid):
  1025     set_entity_cache = _cnx_func('set_entity_cache')
  1023         return self.transaction_data['req_ecache'][eid]
  1026     cached_entities = _cnx_func('cached_entities')
  1024 
  1027     drop_entity_cache = _cnx_func('drop_entity_cache')
  1025     def set_entity_cache(self, entity):
  1028 
  1026         ecache = self.transaction_data.setdefault('req_ecache', {})
  1029 
  1027         ecache.setdefault(entity.eid, entity)
       
  1028 
       
  1029     def cached_entities(self):
       
  1030         return self.transaction_data.get('req_ecache', {}).values()
       
  1031 
       
  1032     def drop_entity_cache(self, eid=None):
       
  1033         if eid is None:
       
  1034             self.transaction_data.pop('req_ecache', None)
       
  1035         else:
       
  1036             del self.transaction_data['req_ecache'][eid]
  1030 
  1037 
  1031 
  1038 
  1032 CubicWebRequestBase = ConnectionCubicWebRequestBase
  1039 CubicWebRequestBase = ConnectionCubicWebRequestBase
  1033 
  1040 
  1034 
  1041