X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fsearch.py;h=7572287759616f11cb2c7353dbc3779cabc6e61c;hb=5126c1afb98575a2430d188ad20a6cc6d5627acb;hp=5b289f089b3f303f7465d3c28c70dd7722a937a2;hpb=900d4e36f7ea51280e43ecf52c2412b94083ca76;p=m_librarian.git diff --git a/m_librarian/search.py b/m_librarian/search.py index 5b289f0..7572287 100644 --- a/m_librarian/search.py +++ b/m_librarian/search.py @@ -40,16 +40,19 @@ _search_conditions_dict = { def mk_search_conditions(table, search_type, case_sensitive, values, - expressions=None): + expressions=None, join_expressions=None): + if join_expressions is None: + join_expressions = [] return _mk_search_conditions_with_operator( table, case_sensitive, _search_conditions_dict[search_type], - values, expressions) + values, expressions) + join_expressions def _search(table, search_type, case_sensitive, values, - expressions=None, orderBy=None): + expressions=None, join_expressions=None, orderBy=None): conditions = mk_search_conditions( - table, search_type, case_sensitive, values, expressions=expressions) + table, search_type, case_sensitive, values, expressions=expressions, + join_expressions=join_expressions) return table.select(AND(*conditions), orderBy=orderBy) @@ -59,9 +62,10 @@ def search_authors(search_type, case_sensitive, values, expressions=None, orderBy=orderBy) -def search_books(search_type, case_sensitive, values, orderBy=None): +def search_books(search_type, case_sensitive, values, join_expressions=None, + orderBy=None): return _search(Book, search_type, case_sensitive, values, - orderBy=orderBy) + join_expressions=join_expressions, orderBy=orderBy) def search_extensions(search_type, case_sensitive, values, orderBy=None):