entities/adapters.py
changeset 9440 6880674c1a26
parent 9375 8e88576787c3
parent 9433 dd708175dc43
child 9700 da7d341cca76
equal deleted inserted replaced
9439:549c999d06d2 9440:6880674c1a26
   100             _done = set()
   100             _done = set()
   101         entity = self.entity
   101         entity = self.entity
   102         _done.add(entity.eid)
   102         _done.add(entity.eid)
   103         containers = tuple(entity.e_schema.fulltext_containers())
   103         containers = tuple(entity.e_schema.fulltext_containers())
   104         if containers:
   104         if containers:
   105             for rschema, target in containers:
   105             for rschema, role in containers:
   106                 if target == 'object':
   106                 if role == 'object':
   107                     targets = getattr(entity, rschema.type)
   107                     targets = getattr(entity, rschema.type)
   108                 else:
   108                 else:
   109                     targets = getattr(entity, 'reverse_%s' % rschema)
   109                     targets = getattr(entity, 'reverse_%s' % rschema)
   110                 for entity in targets:
   110                 for target in targets:
   111                     if entity.eid in _done:
   111                     if target.eid in _done:
   112                         continue
   112                         continue
   113                     for container in entity.cw_adapt_to('IFTIndexable').fti_containers(_done):
   113                     for container in target.cw_adapt_to('IFTIndexable').fti_containers(_done):
   114                         yield container
   114                         yield container
   115                         yielded = True
       
   116         else:
   115         else:
   117             yield entity
   116             yield entity
   118 
   117 
   119     # weight in ABCD
   118     # weight in ABCD
   120     entity_weight = 1.0
   119     entity_weight = 1.0