web/facet.py
changeset 6599 d3008cb6d1c3
parent 6582 8eb7883b4223
child 6623 4cb6d319d16d
equal deleted inserted replaced
6598:78eaccfbd2b7 6599:d3008cb6d1c3
   709             obj = utils.rqlvar_maker(defined=self.rqlst.defined_vars,
   709             obj = utils.rqlvar_maker(defined=self.rqlst.defined_vars,
   710                                      aliases=self.rqlst.aliases).next()
   710                                      aliases=self.rqlst.aliases).next()
   711         rql = 'Any %s LIMIT 1 WHERE NOT %s %s %s, %s' % (
   711         rql = 'Any %s LIMIT 1 WHERE NOT %s %s %s, %s' % (
   712             self.filtered_variable.name, subj, self.rtype, obj,
   712             self.filtered_variable.name, subj, self.rtype, obj,
   713             self.rqlst.where.as_string())
   713             self.rqlst.where.as_string())
   714         return bool(self.rqlexec(rql, self.cw_rset and self.cw_rset.args))
   714         try:
       
   715             return bool(self.rqlexec(rql, self.cw_rset and self.cw_rset.args))
       
   716         except:
       
   717             # catch exception on executing rql, work-around #1356884 until a
       
   718             # proper fix
       
   719             self.exception('cant handle rql generated by %s', self)
       
   720             return False
   715 
   721 
   716     def _add_not_rel_restr(self, rel):
   722     def _add_not_rel_restr(self, rel):
   717         nrrel = nodes.Not(_make_relation(self.rqlst, self.filtered_variable,
   723         nrrel = nodes.Not(_make_relation(self.rqlst, self.filtered_variable,
   718                                          self.rtype, self.role)[1])
   724                                          self.rtype, self.role)[1])
   719         rel.parent.replace(rel, nodes.Or(nrrel, rel))
   725         rel.parent.replace(rel, nodes.Or(nrrel, rel))