--- a/selectors.py Wed Aug 25 09:43:12 2010 +0200
+++ b/selectors.py Wed Aug 25 10:01:11 2010 +0200
@@ -60,9 +60,9 @@
.. sourcecode:: python
- class RSSIconBox(ExtResourcesBoxTemplate):
+ class RSSIconBox(box.Box):
''' just display the RSS icon on uniform result set '''
- __select__ = ExtResourcesBoxTemplate.__select__ & non_final_entity()
+ __select__ = box.Box.__select__ & non_final_entity()
It takes into account:
@@ -1220,6 +1220,15 @@
return 1
+@objectify_selector
+@lltrace
+def contextual(cls, req, view=None, **kwargs):
+ """Return 1 if view's contextual property is true"""
+ if view is not None and view.contextual:
+ return 1
+ return 0
+
+
class match_view(ExpectedValueSelector):
"""Return 1 if a view is specified an as its registry id is in one of the
expected view id given to the initializer.
@@ -1231,6 +1240,18 @@
return 1
+class match_context(ExpectedValueSelector):
+
+ @lltrace
+ def __call__(self, cls, req, context=None, **kwargs):
+ try:
+ if not context in self.expected:
+ return 0
+ except AttributeError:
+ return 1 # class doesn't care about search state, accept it
+ return 1
+
+
@objectify_selector
@lltrace
def match_context_prop(cls, req, context=None, **kwargs):