equal
deleted
inserted
replaced
330 raise NotImplementedError |
330 raise NotImplementedError |
331 |
331 |
332 def support_and(self): |
332 def support_and(self): |
333 return False |
333 return False |
334 |
334 |
335 def rqlexec(self, rql, args=None, cachekey=None): |
335 def rqlexec(self, rql, args=None): |
336 try: |
336 try: |
337 return self._cw.execute(rql, args, cachekey) |
337 return self._cw.execute(rql, args) |
338 except Unauthorized: |
338 except Unauthorized: |
339 return [] |
339 return [] |
340 |
340 |
341 |
341 |
342 class RelationFacet(VocabularyFacet): |
342 class RelationFacet(VocabularyFacet): |
373 rqlst, mainvar, self.rtype, self.role, self.target_attr, |
373 rqlst, mainvar, self.rtype, self.role, self.target_attr, |
374 self.sortfunc, sort) |
374 self.sortfunc, sort) |
375 if self.target_type is not None: |
375 if self.target_type is not None: |
376 rqlst.add_type_restriction(var, self.target_type) |
376 rqlst.add_type_restriction(var, self.target_type) |
377 try: |
377 try: |
378 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args, self.cw_rset.cachekey) |
378 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args) |
379 except: |
379 except: |
380 self.exception('error while getting vocabulary for %s, rql: %s', |
380 self.exception('error while getting vocabulary for %s, rql: %s', |
381 self, rqlst.as_string()) |
381 self, rqlst.as_string()) |
382 return () |
382 return () |
383 finally: |
383 finally: |
462 mainvar = self.filtered_variable |
462 mainvar = self.filtered_variable |
463 _cleanup_rqlst(rqlst, mainvar) |
463 _cleanup_rqlst(rqlst, mainvar) |
464 newvar = _prepare_vocabulary_rqlst(rqlst, mainvar, self.rtype, self.role) |
464 newvar = _prepare_vocabulary_rqlst(rqlst, mainvar, self.rtype, self.role) |
465 _set_orderby(rqlst, newvar, self.sortasc, self.sortfunc) |
465 _set_orderby(rqlst, newvar, self.sortasc, self.sortfunc) |
466 try: |
466 try: |
467 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args, self.cw_rset.cachekey) |
467 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args) |
468 except: |
468 except: |
469 self.exception('error while getting vocabulary for %s, rql: %s', |
469 self.exception('error while getting vocabulary for %s, rql: %s', |
470 self, rqlst.as_string()) |
470 self, rqlst.as_string()) |
471 return () |
471 return () |
472 finally: |
472 finally: |