vregistry.py
branchtls-sprint
changeset 759 e044f28372bd
parent 741 8c810ee593a3
child 760 95b3419e94c5
equal deleted inserted replaced
758:0c0dfd33a76d 759:e044f28372bd
   691     """return a selector chaining given selectors. If one of
   691     """return a selector chaining given selectors. If one of
   692     the selectors fail, selection will fail, else the returned score
   692     the selectors fail, selection will fail, else the returned score
   693     will be the sum of each selector'score
   693     will be the sum of each selector'score
   694     """
   694     """
   695     assert selectors
   695     assert selectors
   696     selector = AndSelector(*selectors)
   696     # XXX do we need to create the AndSelector here, a tuple might be enough
       
   697     selector = AndSelector(*[_instantiate_selector(selector)
       
   698                              for selector in selectors])
   697     if 'name' in kwargs:
   699     if 'name' in kwargs:
   698         selector.__name__ = kwargs['name']
   700         selector.__name__ = kwargs['name']
   699     return selector
   701     return selector
   700 
   702 
   701 def chainfirst(*selectors, **kwargs):
   703 def chainfirst(*selectors, **kwargs):
   702     """return a selector chaining given selectors. If all
   704     """return a selector chaining given selectors. If all
   703     the selectors fail, selection will fail, else the returned score
   705     the selectors fail, selection will fail, else the returned score
   704     will be the first non-zero selector score
   706     will be the first non-zero selector score
   705     """
   707     """
   706     assert selectors
   708     assert selectors
   707     selector = OrSelector(*selectors)
   709     selector = OrSelector(*[_instantiate_selector(selector)
       
   710                             for selector in selectors])
   708     if 'name' in kwargs:
   711     if 'name' in kwargs:
   709         selector.__name__ = kwargs['name']
   712         selector.__name__ = kwargs['name']
   710     return selector
   713     return selector