- # filter_op = filter_expr[0]
- filter_key = filter_expr[1]
- # filter_vals = filter_expr[2:]
+ filter_op = filter_expr[0].strip()
+ filter_key = filter_expr[1].strip()
+ filter_vals = filter_expr[2:]
+ if filter_op in ["eq", "neq", "gt", "lt", "gte", "lte"]:
+ if len(filter_vals) != 1:
+ raise BadRequestException(
+ "Found {} values: {} while only single value"
+ " is allowed for operation {}".format(
+ len(filter_vals), filter_vals, filter_op)
+ )
+ elif filter_op not in ["in", "nin", "cont", "ncont"]:
+ raise BadRequestException(
+ 'Filter operation {} is invalid'.format(filter_op)
+ )
+ else:
+ pass