@@ -779,7 +779,7 @@ def get_collex_metadata(filters, fields, record_limit=3000, offset=0, counts_onl
779779 collapse_on = 'PatientID' , order_docs = None , sources = None , versions = None , with_derived = True ,
780780 facets = None , records_only = False , sort = None , uniques = None , record_source = None , totals = None ,
781781 search_child_records_by = None , filtered_needed = True , custom_facets = None , raw_format = False ,
782- default_facets = True ):
782+ default_facets = True , aux_sources = None ):
783783
784784 try :
785785 source_type = sources .first ().source_type if sources else DataSource .SOLR
@@ -817,7 +817,7 @@ def get_collex_metadata(filters, fields, record_limit=3000, offset=0, counts_onl
817817 filters , fields , sources , counts_only , collapse_on , record_limit , offset , facets , records_only , sort ,
818818 uniques , record_source , totals , search_child_records_by = search_child_records_by ,
819819 filtered_needed = filtered_needed , custom_facets = custom_facets , raw_format = raw_format ,
820- default_facets = default_facets
820+ default_facets = default_facets , aux_sources = aux_sources
821821 )
822822 stop = time .time ()
823823 logger .debug ("Metadata received: {}" .format (stop - start ))
@@ -934,7 +934,7 @@ def create_query_set(solr_query, sources, source, all_ui_attrs, image_source, Da
934934def get_metadata_solr (filters , fields , sources , counts_only , collapse_on , record_limit , offset = 0 , attr_facets = None ,
935935 records_only = False , sort = None , uniques = None , record_source = None , totals = None , cursor = None ,
936936 search_child_records_by = None , filtered_needed = True , custom_facets = None , sort_field = None ,
937- raw_format = False , default_facets = True ):
937+ raw_format = False , default_facets = True , aux_sources = None ):
938938
939939 filters = filters or {}
940940 results = {'docs' : None , 'facets' : {}}
@@ -951,9 +951,15 @@ def get_metadata_solr(filters, fields, sources, counts_only, collapse_on, record
951951 cache_as = "ui_facet_set" if not sources .contains_inactive_versions () and not attr_facets else None
952952 )
953953
954- all_ui_attrs = fetch_data_source_attr (
955- sources , {'for_ui' : True , 'for_faceting' : False , 'active_only' : True },
956- cache_as = "all_ui_attr" if not sources .contains_inactive_versions () else None )
954+ all_ui_attrs = []
955+ if aux_sources is None :
956+ all_ui_attrs = fetch_data_source_attr (
957+ sources , {'for_ui' : True , 'for_faceting' : False , 'active_only' : True },
958+ cache_as = "all_ui_attr" if not sources .contains_inactive_versions () else None )
959+ else :
960+ all_ui_attrs = fetch_data_source_attr (
961+ aux_sources , {'for_ui' : True , 'for_faceting' : False , 'active_only' : True },
962+ cache_as = "all_ui_attr" if not sources .contains_inactive_versions () else None )
957963
958964 source_data_types = fetch_data_source_types (sources )
959965
@@ -1011,7 +1017,10 @@ def get_metadata_solr(filters, fields, sources, counts_only, collapse_on, record
10111017 solr_facets_filtered = {}
10121018 solr_facets_filtered .update (custom_facets )
10131019
1014- query_set = create_query_set (solr_query , sources , source , all_ui_attrs , image_source , DataSetType )
1020+ if aux_sources is None :
1021+ query_set = create_query_set (solr_query , sources , source , all_ui_attrs , image_source , DataSetType )
1022+ else :
1023+ query_set = create_query_set (solr_query , aux_sources , source , all_ui_attrs , image_source , DataSetType )
10151024
10161025 stop = time .time ()
10171026 logger .debug ("[STATUS] Time to build Solr submission: {}s" .format (str (stop - start )))
0 commit comments