[docs]defprocess_value(value:Union[int,float,str])->str:"""Convert a value to a string and add single quotes if it is a string."""ifisinstance(value,str):returnf"'{value}'"else:returnstr(value)
[docs]classVectaraTranslator(Visitor):"""Translate `Vectara` internal query language elements to valid filters."""allowed_operators=[Operator.AND,Operator.OR]"""Subset of allowed logical operators."""allowed_comparators=[Comparator.EQ,Comparator.NE,Comparator.GT,Comparator.GTE,Comparator.LT,Comparator.LTE,]"""Subset of allowed logical comparators."""def_format_func(self,func:Union[Operator,Comparator])->str:map_dict={Operator.AND:" and ",Operator.OR:" or ",Comparator.EQ:"=",Comparator.NE:"!=",Comparator.GT:">",Comparator.GTE:">=",Comparator.LT:"<",Comparator.LTE:"<=",}self._validate_func(func)returnmap_dict[func]