fix selectors compat tls-sprint
authorsylvain.thenault@logilab.fr
Wed, 18 Feb 2009 00:55:42 +0100
branchtls-sprint
changeset 741 8c810ee593a3
parent 740 e92c19eaf63f
child 743 62ff117dc99c
fix selectors compat
vregistry.py
--- a/vregistry.py	Wed Feb 18 00:55:13 2009 +0100
+++ b/vregistry.py	Wed Feb 18 00:55:42 2009 +0100
@@ -112,7 +112,7 @@
         may be the right hook to create an instance for example). By
         default the vobject is returned without any transformation.
         """
-        cls.__select__ = cls.build___select__()
+        cls.build___select__()
         return cls
 
     @classmethod
@@ -146,10 +146,11 @@
             if len(selectors) == 1:
                 # micro optimization: don't bother with AndSelector if there's
                 # only one selector
-                return _instantiate_selector(selectors[0])
-            return AndSelector(_instantiate_selector(selector)
-                               for selector in selectors)
-        return cls.__select__
+                select = _instantiate_selector(selectors[0])
+            else:
+                select = AndSelector(*[_instantiate_selector(selector)
+                                       for selector in selectors])
+            cls.__select__ = select
 
 
 class VRegistry(object):