-def _search_substring(table, case_sensitive, values):
- expressions = []
- if case_sensitive:
- for column, value in values.items():
- expressions.append(getattr(table.q, column).contains(value))
- else:
- for column, value in values.items():
- expressions.append(
- func.lower(getattr(table.q, column)).contains(value.lower()))
- return AND(*expressions)
+def _search_substring(table, case_sensitive, values, expressions):
+ return _search_with_operator(table, case_sensitive, 'contains', values,
+ expressions)
+
+
+def _search_full(table, case_sensitive, values, expressions):
+ return _search_with_operator(table, case_sensitive, '__eq__', values,
+ expressions)