def build_expression(exp, object_class, target_class, query): """Make an SQLAlchemy filtering expression from exp expression tree.""" if not exp: # empty expression doesn't required filter return None if autocast.is_autocast_required_for(exp): exp = validate("left", "right")(autocast.autocast)(exp, target_class) if not exp: # empty expression after autocast is invalid and should raise an exception raise BadQueryException("Invalid filter data") operation = OPS.get(exp.get("op", {}).get("name")) or unknown return operation(exp, object_class, target_class, query)
def build_expression(exp, object_class, target_class, query): """Make an SQLAlchemy filtering expression from exp expression tree.""" if not exp: # empty expression doesn't required filter return if autocast.is_autocast_required_for(exp): exp = validate("left", "right")(autocast.autocast)(exp, target_class) if not exp: # empty expression after autocast is invalid and should raise an exception raise BadQueryException("Invalid filter data") operation = OPS.get(exp.get("op", {}).get("name")) or unknown return operation(exp, object_class, target_class, query)