equal
deleted
inserted
replaced
25 def objectify_selector(selector_func): |
25 def objectify_selector(selector_func): |
26 """convenience decorator for simple selectors where a class definition |
26 """convenience decorator for simple selectors where a class definition |
27 would be overkill:: |
27 would be overkill:: |
28 |
28 |
29 @objectify_selector |
29 @objectify_selector |
30 def yes(cls, *args, **kwargs): |
30 def one(cls, *args, **kwargs): |
31 return 1 |
31 return 1 |
32 |
32 |
33 """ |
33 """ |
34 return type(selector_func.__name__, (Selector,), |
34 return type(selector_func.__name__, (Selector,), |
35 {'__doc__': selector_func.__doc__, |
35 {'__doc__': selector_func.__doc__, |
183 def __str__(self): |
183 def __str__(self): |
184 return 'NOT(%s)' % super(NotSelector, self).__str__() |
184 return 'NOT(%s)' % super(NotSelector, self).__str__() |
185 |
185 |
186 |
186 |
187 class yes(Selector): |
187 class yes(Selector): |
188 """return arbitrary score |
188 """Return the score given as parameter, with a default score of 0.5 so any |
189 |
189 other selector take precedence. |
190 default score of 0.5 so any other selector take precedence |
190 |
|
191 Usually used for appobjects which can be selected whatever the context, or |
|
192 also sometimes to add arbitrary points to a score. |
|
193 |
|
194 Take care, `yes(0)` could be named 'no'... |
191 """ |
195 """ |
192 def __init__(self, score=0.5): |
196 def __init__(self, score=0.5): |
193 self.score = score |
197 self.score = score |
194 |
198 |
195 def __call__(self, *args, **kwargs): |
199 def __call__(self, *args, **kwargs): |