web/request.py
changeset 9582 46ed25d38fe2
parent 9568 e8b9a3d23ad9
child 9601 e5a80bd337e8
equal deleted inserted replaced
9581:cbf4846d408a 9582:46ed25d38fe2
  1023         super(ConnectionCubicWebRequestBase, self).__init__(vreg, https=https,
  1023         super(ConnectionCubicWebRequestBase, self).__init__(vreg, https=https,
  1024                                                        form=form, headers=headers)
  1024                                                        form=form, headers=headers)
  1025         from cubicweb.dbapi import DBAPISession, _NeedAuthAccessMock
  1025         from cubicweb.dbapi import DBAPISession, _NeedAuthAccessMock
  1026         self.session = DBAPISession(None)
  1026         self.session = DBAPISession(None)
  1027         self.cnx = self.user = _NeedAuthAccessMock()
  1027         self.cnx = self.user = _NeedAuthAccessMock()
  1028         #: cache entities built during the request
       
  1029         self._eid_cache = {}
       
  1030 
  1028 
  1031     def set_cnx(self, cnx):
  1029     def set_cnx(self, cnx):
  1032         self.cnx = cnx
  1030         self.cnx = cnx
  1033         self.session = cnx._session
  1031         self.session = cnx._session
  1034         self._set_user(cnx.user)
  1032         self._set_user(cnx.user)
  1068     def call_service(self, regid, **kwargs):
  1066     def call_service(self, regid, **kwargs):
  1069         return self.cnx.call_service(regid, **kwargs)
  1067         return self.cnx.call_service(regid, **kwargs)
  1070 
  1068 
  1071     # entities cache management ###############################################
  1069     # entities cache management ###############################################
  1072 
  1070 
  1073     def entity_cache(self, eid):
  1071     entity_cache = _cnx_func('entity_cache')
  1074         return self._eid_cache[eid]
  1072     set_entity_cache = _cnx_func('set_entity_cache')
  1075 
  1073     cached_entities = _cnx_func('cached_entities')
  1076     def set_entity_cache(self, entity):
  1074     drop_entity_cache = _cnx_func('drop_entity_cache')
  1077         self._eid_cache[entity.eid] = entity
  1075 
  1078 
       
  1079     def cached_entities(self):
       
  1080         return self._eid_cache.values()
       
  1081 
       
  1082     def drop_entity_cache(self, eid=None):
       
  1083         if eid is None:
       
  1084             self._eid_cache = {}
       
  1085         else:
       
  1086             del self._eid_cache[eid]
       
  1087 
  1076 
  1088 
  1077 
  1089 
  1078 
  1090 CubicWebRequestBase = ConnectionCubicWebRequestBase
  1079 CubicWebRequestBase = ConnectionCubicWebRequestBase
  1091 
  1080