X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fsearch.py;h=5c1f47d65403df60bc645a144728a5c24b2076c5;hb=1453a9b4d51bbb10e3e145c1b22970fb3b08801a;hp=2e761edaf9cbb5b77348dd4828f53b1ac7dfd418;hpb=4f7f9bd66d87cf5f69d1ea34bb16f171ba18a90b;p=m_librarian.git diff --git a/m_librarian/search.py b/m_librarian/search.py index 2e761ed..5c1f47d 100644 --- a/m_librarian/search.py +++ b/m_librarian/search.py @@ -17,6 +17,7 @@ def _mk_search_conditions_with_operator(table, case_sensitive, comparison_op, for column, value in values.items(): if column == 'id': _expressions.append(table.q.id == value) + break if case_sensitive: for column, value in values.items(): if column == 'id': @@ -40,7 +41,7 @@ def _mk_search_conditions_with_operator(table, case_sensitive, comparison_op, return _expressions -_search_conditions_dict = { +_comparison_operators = { 'start': 'startswith', 'substring': 'contains', 'full': '__eq__', @@ -52,7 +53,7 @@ def mk_search_conditions(table, search_type, case_sensitive, values, if join_expressions is None: join_expressions = [] return _mk_search_conditions_with_operator( - table, case_sensitive, _search_conditions_dict[search_type], + table, case_sensitive, _comparison_operators[search_type], values, expressions) + join_expressions