diff --git a/awx/main/tests/unit/utils/test_filters.py b/awx/main/tests/unit/utils/test_filters.py index cfac7e9e96..216e6dc001 100644 --- a/awx/main/tests/unit/utils/test_filters.py +++ b/awx/main/tests/unit/utils/test_filters.py @@ -129,6 +129,7 @@ class TestSmartFilterQueryFromString(): q = SmartFilter.query_from_string(filter_string) assert unicode(q) == unicode(q_expected) + ''' #('"facts__quoted_val"="f\"oo"', 1), #('facts__facts__arr[]="foo"', 1), diff --git a/awx/main/utils/filters.py b/awx/main/utils/filters.py index 1b9b5b40dc..da35b71c5d 100644 --- a/awx/main/utils/filters.py +++ b/awx/main/utils/filters.py @@ -6,6 +6,7 @@ from pyparsing import ( Optional, Literal, CharsNotIn, + ParseException, ) import django @@ -235,7 +236,7 @@ class SmartFilter(object): try: res = boolExpr.parseString('(' + filter_string + ')') - except Exception: + except ParseException: raise RuntimeError(u"Invalid query %s" % filter_string_raw) if len(res) > 0: