# HG changeset patch # User Adrien Di Mascio # Date 1234947980 -3600 # Node ID 95b3419e94c591985537dab4434bf4eac5534fba # Parent e044f28372bdf261125729e2aa7ac147f1b87616# Parent 2c39818304080312e185532243807f95b15d1581 merge diff -r 2c3981830408 -r 95b3419e94c5 selectors.py --- a/selectors.py Wed Feb 18 02:07:58 2009 +0100 +++ b/selectors.py Wed Feb 18 10:06:20 2009 +0100 @@ -347,7 +347,7 @@ @lltrace def authenticated_user(cls, req, *args, **kwargs): """accept if user is authenticated""" - return not anonymous_user(cls, req, *args, **kwargs) + return not anonymous_user()(cls, req, *args, **kwargs) @objectify_selector @lltrace diff -r 2c3981830408 -r 95b3419e94c5 view.py --- a/view.py Wed Feb 18 02:07:58 2009 +0100 +++ b/view.py Wed Feb 18 10:06:20 2009 +0100 @@ -323,7 +323,7 @@ # XXX deprecate __registerer__ = accepts_registerer __select__ = implements('Any') - registered = accepts_compat(View.registered.im_func) + registered = accepts_compat(View.registered) category = 'entityview' @@ -334,7 +334,7 @@ """ __registerer__ = priority_registerer __select__ = none_rset() - registered = require_group_compat(View.registered.im_func) + registered = require_group_compat(View.registered) category = 'startupview' @@ -421,7 +421,7 @@ __registry__ = 'templates' __select__ = yes() - registered = require_group_compat(View.registered.im_func) + registered = require_group_compat(View.registered) def template(self, oid, **kwargs): """shortcut to self.registry.render method on the templates registry""" diff -r 2c3981830408 -r 95b3419e94c5 vregistry.py --- a/vregistry.py Wed Feb 18 02:07:58 2009 +0100 +++ b/vregistry.py Wed Feb 18 10:06:20 2009 +0100 @@ -685,7 +685,9 @@ will be the sum of each selector'score """ assert selectors - selector = AndSelector(*selectors) + # XXX do we need to create the AndSelector here, a tuple might be enough + selector = AndSelector(*[_instantiate_selector(selector) + for selector in selectors]) if 'name' in kwargs: selector.__name__ = kwargs['name'] return selector @@ -696,7 +698,8 @@ will be the first non-zero selector score """ assert selectors - selector = OrSelector(*selectors) + selector = OrSelector(*[_instantiate_selector(selector) + for selector in selectors]) if 'name' in kwargs: selector.__name__ = kwargs['name'] return selector diff -r 2c3981830408 -r 95b3419e94c5 web/action.py --- a/web/action.py Wed Feb 18 02:07:58 2009 +0100 +++ b/web/action.py Wed Feb 18 10:06:20 2009 +0100 @@ -82,7 +82,7 @@ return selector(cls, req, rset, row, col, **kwargs) __select__ = my_selector() - registered = accepts_compat(Action.registered.im_func) + registered = accepts_compat(Action.registered) category = 'addrelated' diff -r 2c3981830408 -r 95b3419e94c5 web/controller.py --- a/web/controller.py Wed Feb 18 02:07:58 2009 +0100 +++ b/web/controller.py Wed Feb 18 10:06:20 2009 +0100 @@ -69,7 +69,7 @@ __registry__ = 'controllers' __registerer__ = priority_registerer __select__ = yes() - registered = require_group_compat(AppObject.registered.im_func) + registered = require_group_compat(AppObject.registered) def __init__(self, *args, **kwargs): super(Controller, self).__init__(*args, **kwargs) diff -r 2c3981830408 -r 95b3419e94c5 web/form.py --- a/web/form.py Wed Feb 18 02:07:58 2009 +0100 +++ b/web/form.py Wed Feb 18 10:06:20 2009 +0100 @@ -239,9 +239,7 @@ should list necessary parameters in the form to be accepted. """ __registerer__ = accepts_registerer - __select__ = classmethod(match_form_params) - - form_params = () + __select__ = match_form_params() class EntityForm(FormMixIn, EntityView): """base class for forms applying on an entity (i.e. uniform result set) diff -r 2c3981830408 -r 95b3419e94c5 web/views/basecomponents.py --- a/web/views/basecomponents.py Wed Feb 18 02:07:58 2009 +0100 +++ b/web/views/basecomponents.py Wed Feb 18 10:06:20 2009 +0100 @@ -194,8 +194,8 @@ to be able to filter accordingly. """ id = 'etypenavigation' - __select__ = classmethod(chainfirst(two_etypes_rset, match_form_params)) - form_params = ('__restrtype', '__restrtypes', '__restrrql') + __select__ = two_etypes_rset() | match_form_params('__restrtype', '__restrtypes', + '__restrrql') visible = False # disabled by default def call(self): diff -r 2c3981830408 -r 95b3419e94c5 web/views/baseviews.py --- a/web/views/baseviews.py Wed Feb 18 02:07:58 2009 +0100 +++ b/web/views/baseviews.py Wed Feb 18 10:06:20 2009 +0100 @@ -35,7 +35,7 @@ class NullView(AnyRsetView): """default view when no result has been found""" id = 'null' - __select__ = classmethod(yes) + __select__ = yes() def call(self, **kwargs): pass cell_call = call diff -r 2c3981830408 -r 95b3419e94c5 web/views/facets.py --- a/web/views/facets.py Wed Feb 18 02:07:58 2009 +0100 +++ b/web/views/facets.py Wed Feb 18 10:06:20 2009 +0100 @@ -30,8 +30,8 @@ """filter results of a query""" id = 'filter_box' __select__ = (((non_final_entity() & two_lines_rset()) - | contextview_selector - ) & match_context_prop) + | contextview_selector() + ) & match_context_prop()) context = 'left' title = _('boxes_filter_box') visible = True # functionality provided by the search box by default