Skip to content

Commit 85e517e

Browse files
committed
refactor method to avoid assert
1 parent 600a6b2 commit 85e517e

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

logprep/filter/lucene_filter.py

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -280,43 +280,37 @@ def _parse_tree(self, tree: luqum.tree) -> FilterExpression:
280280
self._last_search_field = None
281281
return parsed
282282
return self._create_field(tree)
283-
if isinstance(tree, Word):
284-
if self._last_search_field:
285-
return self._create_field_group_expression(tree)
286-
return self._create_value_expression(tree)
287-
if isinstance(tree, Phrase):
288-
if self._last_search_field:
289-
return self._create_field_group_expression(tree)
290-
return self._create_value_expression(tree)
291-
if isinstance(tree, Regex):
292-
if self._last_search_field:
293-
return self._create_field_group_expression(tree)
283+
if isinstance(tree, (Word, Phrase, Regex)):
284+
if self._last_search_field is not None:
285+
return self._create_field_group_expression(tree, self._last_search_field)
294286
return self._create_value_expression(tree)
295287
raise LuceneFilterError(f'The expression "{str(tree)}" is invalid!')
296288

297-
def _create_field_group_expression(self, tree: luqum.tree) -> FilterExpression:
289+
def _create_field_group_expression(
290+
self, tree: luqum.tree, dotted_field: str
291+
) -> FilterExpression:
298292
"""Creates filter expression that is resulting from a field group.
299293
300294
Parameters
301295
----------
302296
tree : luqum.tree
303297
luqum.tree to create field group expression from.
298+
dotted_field: str
299+
dotted_field which is treated as the key for the expression.
304300
305301
Returns
306302
-------
307303
FilterExpression
308304
Parsed filter expression.
309305
310306
"""
311-
assert self._last_search_field is not None
312-
key = self._last_search_field.split(".")
307+
key = dotted_field.split(".")
313308
value = self._strip_quote_from_string(tree.value)
314309
value = self._remove_lucene_escaping(value)
315310

316311
if isinstance(tree, Regex):
317312
return self._get_filter_expression_regex(key, value)
318-
else:
319-
return self._get_filter_expression(key, value)
313+
return self._get_filter_expression(key, value)
320314

321315
def _collect_children(self, tree: luqum.tree) -> list[FilterExpression]:
322316
expressions = []

0 commit comments

Comments
 (0)