--- a/predicates.py Fri Aug 03 13:29:37 2012 +0200
+++ b/predicates.py Fri Sep 07 14:01:59 2012 +0200
@@ -352,12 +352,12 @@
"""
def __call__(self, cls, req, rset=None, row=None, col=0, accept_none=None,
- **kwargs):
- if not rset and not kwargs.get('entity'):
+ entity=None, **kwargs):
+ if not rset and entity is None:
return 0
score = 0
- if kwargs.get('entity'):
- score = self.score_entity(kwargs['entity'])
+ if entity is not None:
+ score = self.score_entity(entity)
elif row is None:
col = col or 0
if accept_none is None:
@@ -558,7 +558,7 @@
@objectify_predicate
def nonempty_rset(cls, req, rset=None, **kwargs):
"""Return 1 for result set containing one ore more rows."""
- if rset is not None and rset.rowcount:
+ if rset:
return 1
return 0
@@ -567,7 +567,7 @@
@objectify_predicate
def empty_rset(cls, req, rset=None, **kwargs):
"""Return 1 for result set which doesn't contain any row."""
- if rset is not None and rset.rowcount == 0:
+ if rset is not None and len(rset) == 0:
return 1
return 0
@@ -580,7 +580,7 @@
"""
if rset is None and 'entity' in kwargs:
return 1
- if rset is not None and (row is not None or rset.rowcount == 1):
+ if rset is not None and (row is not None or len(rset) == 1):
return 1
return 0
@@ -608,7 +608,7 @@
return self.operator(num, self.expected)
def __call__(self, cls, req, rset=None, **kwargs):
- return int(rset is not None and self.match_expected(rset.rowcount))
+ return int(rset is not None and self.match_expected(len(rset)))
class multi_columns_rset(multi_lines_rset):
@@ -648,7 +648,7 @@
page_size = req.property_value('navigation.page-size')
else:
page_size = int(page_size)
- if rset.rowcount <= (page_size*self.nbpages):
+ if len(rset) <= (page_size*self.nbpages):
return 0
return self.nbpages
@@ -1080,9 +1080,9 @@
# don't use EntityPredicate.__call__ but this optimized implementation to
# avoid considering each entity when it's not necessary
- def __call__(self, cls, req, rset=None, row=None, col=0, **kwargs):
- if kwargs.get('entity'):
- return self.score_entity(kwargs['entity'])
+ def __call__(self, cls, req, rset=None, row=None, col=0, entity=None, **kwargs):
+ if entity is not None:
+ return self.score_entity(entity)
if rset is None:
return 0
if row is None: