From 598ae6a3b38a0a07fca08cba294b9cb9b068fa82 Mon Sep 17 00:00:00 2001 From: rsmith013 Date: Fri, 9 Jul 2021 17:00:34 +0100 Subject: [PATCH] refactored LIKE predicate and test. closes #20 --- pygeofilter/parsers/cql_json/parser.py | 12 ++++++------ tests/parsers/cql_json/test_parser.py | 6 ++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pygeofilter/parsers/cql_json/parser.py b/pygeofilter/parsers/cql_json/parser.py index d3b4d24..8902d7d 100644 --- a/pygeofilter/parsers/cql_json/parser.py +++ b/pygeofilter/parsers/cql_json/parser.py @@ -159,12 +159,12 @@ def walk_cql_json(node: dict, is_temporal: bool = False) -> ast.Node: elif name == 'like': return ast.Like( - walk_cql_json(value['like'][0]), - value['like'][1], - nocase=value.get('nocase', True), - wildcard=value.get('wildcard', '%'), - singlechar=value.get('singleChar', '.'), - escapechar=value.get('escapeChar', '\\'), + walk_cql_json(value[0]), + value[1], + nocase=node.get('nocase', True), + wildcard=node.get('wildcard', '%'), + singlechar=node.get('singleChar', '.'), + escapechar=node.get('escapeChar', '\\'), not_=False, ) diff --git a/tests/parsers/cql_json/test_parser.py b/tests/parsers/cql_json/test_parser.py index 19c6e32..74bbe09 100644 --- a/tests/parsers/cql_json/test_parser.py +++ b/tests/parsers/cql_json/test_parser.py @@ -140,14 +140,12 @@ def test_attribute_between_negative_positive(): def test_string_like(): result = parse({ - "like": { - "like": [ + "like": [ {"property": "attr"}, "some%", ], "nocase": False, - } - }) + }) assert result == ast.Like( ast.Attribute('attr'), 'some%',