def calculate_external_search_params(pattern_list, field, hosted_colls): """Function that calculates the basic search units given the search pattern. Also returns a set of hosted collections engines.""" from invenio.search_engine import create_basic_search_units from invenio.websearch_external_collections import bind_patterns from invenio.websearch_external_collections import select_hosted_search_engines as select_external_search_engines pattern = bind_patterns(pattern_list) basic_search_units = create_basic_search_units(None, pattern, field) external_search_engines = select_external_search_engines(hosted_colls) return (external_search_engines, basic_search_units)