refactor: simplify code using match
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
This commit is contained in:
parent
038bd44d08
commit
92900d366c
1 changed files with 11 additions and 14 deletions
|
|
@ -483,20 +483,17 @@ class Engine:
|
|||
self.query = self.query.where(combined)
|
||||
|
||||
def apply_list_filters(self, filter: list, collect: list | None = None):
|
||||
if len(filter) == 2:
|
||||
field, value = filter
|
||||
self._apply_filter(field, value, collect=collect)
|
||||
elif len(filter) == 3:
|
||||
field, operator, value = filter
|
||||
self._apply_filter(field, value, operator, collect=collect)
|
||||
elif len(filter) == 4:
|
||||
doctype, field, operator, value = filter
|
||||
self._apply_filter(field, value, operator, doctype, collect=collect)
|
||||
elif len(filter) == 5:
|
||||
doctype, field, operator, value, _ = filter
|
||||
self._apply_filter(field, value, operator, doctype, collect=collect)
|
||||
else:
|
||||
raise ValueError(f"Unknown filter format: {filter}")
|
||||
match filter:
|
||||
case [field, value]:
|
||||
self._apply_filter(field, value, collect=collect)
|
||||
case [field, operator, value]:
|
||||
self._apply_filter(field, value, operator, collect=collect)
|
||||
case [doctype, field, operator, value]:
|
||||
self._apply_filter(field, value, operator, doctype, collect=collect)
|
||||
case [doctype, field, operator, value, _]:
|
||||
self._apply_filter(field, value, operator, doctype, collect=collect)
|
||||
case _:
|
||||
raise ValueError(f"Unknown filter format: {filter}")
|
||||
|
||||
def apply_dict_filters(self, filters: dict[str, FilterValue | list], collect: list | None = None):
|
||||
for field, value in filters.items():
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue