selectors.py
changeset 6615 9807fb5d5f8d
parent 6565 e89de028d004
child 6869 900cb9b1b687
equal deleted inserted replaced
6614:4b9a785df0f7 6615:9807fb5d5f8d
   775         return '%s(%s)' % (self.__class__.__name__,
   775         return '%s(%s)' % (self.__class__.__name__,
   776                            ','.join(str(s) for s in self.expected_etypes))
   776                            ','.join(str(s) for s in self.expected_etypes))
   777 
   777 
   778     def score_class(self, eclass, req):
   778     def score_class(self, eclass, req):
   779         # cache on vreg to avoid reloading issues
   779         # cache on vreg to avoid reloading issues
   780         cache = req.vreg._is_instance_selector_cache
   780         try:
       
   781             cache = req.vreg._is_instance_selector_cache
       
   782         except AttributeError:
       
   783             # XXX 'before-registry-reset' not called for db-api connections
       
   784             cache = req.vreg._is_instance_selector_cache = {}
   781         try:
   785         try:
   782             expected_eclasses = cache[self]
   786             expected_eclasses = cache[self]
   783         except KeyError:
   787         except KeyError:
   784             # turn list of entity types as string into a list of
   788             # turn list of entity types as string into a list of
   785             #  (entity class, parent classes)
   789             #  (entity class, parent classes)