Skip to content

Commit 7de174c

Browse files
committed
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-Common into idc-test
2 parents 17385dd + cbafaab commit 7de174c

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

idc_collections/collex_metadata_utils.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -566,10 +566,10 @@ def build_explorer_context(is_dicofdic, source, versions, filters, fields, order
566566
return None
567567

568568

569-
def filter_manifest(filters, sources, versions, fields, limit, offset=0, level="SeriesInstanceUID", with_size=False):
569+
def filter_manifest(filters, sources, versions, fields, limit, offset=0, level="SeriesInstanceUID", with_size=False, series_only=False):
570570
try:
571571
custom_facets = None
572-
search_by = {x: "StudyInstanceUID" for x in filters} if level == "SeriesInstanceUID" else None
572+
search_by = {x: "StudyInstanceUID" for x in filters} if (level == "SeriesInstanceUID" and not series_only) else None
573573

574574
if with_size:
575575
# build facet for instance_size aggregation
@@ -716,7 +716,8 @@ def create_file_manifest(request, cohort=None):
716716
loc = req.get('loc_type_{}'.format(file_type), 'aws')
717717
storage_bucket = '%s_bucket' % loc
718718
instructions = ""
719-
from_cart = (req.get('from_cart', "False").lower() == "true")
719+
from_cart = bool(req.get('from_cart', "False").lower() == "true")
720+
single_series = bool(req.get("single_series", "False").lower() == "true")
720721

721722
# Fields we need to fetch
722723
field_list = ["PatientID", "collection_id", "source_DOI", "StudyInstanceUID", "SeriesInstanceUID", "crdc_instance_uuid",
@@ -803,7 +804,7 @@ def create_file_manifest(request, cohort=None):
803804
if from_cart:
804805
items = get_cart_manifest(filtergrp_list, partitions, mxstudies, mxseries, field_list, MAX_FILE_LIST_ENTRIES)
805806
else:
806-
items = filter_manifest(filters, sources, versions, field_list, MAX_FILE_LIST_ENTRIES, with_size=True)
807+
items = filter_manifest(filters, sources, versions, field_list, MAX_FILE_LIST_ENTRIES, with_size=True, series_only=single_series)
807808
if 'docs' in items:
808809
manifest = items['docs']
809810
if not manifest or len(manifest) <= 0:
@@ -1901,6 +1902,8 @@ def get_cart_data_studylvl(filtergrp_list, partitions, limit, offset, length, mx
19011902
limit=int(mxseries), facets=custom_facets, sort=sortStr, counts_only=False, collapse_on=None,
19021903
uniques=None, with_cursor=None, stats=None, totals=totals, op='AND'
19031904
)
1905+
print("series result:")
1906+
print(solr_result_series_lvl)
19041907
if with_records and ('response' in solr_result_series_lvl) and ('docs' in solr_result_series_lvl['response']):
19051908
serieslvl_found = True
19061909
for row in solr_result_series_lvl['response']['docs']:
@@ -1926,6 +1929,8 @@ def get_cart_data_studylvl(filtergrp_list, partitions, limit, offset, length, mx
19261929
sort=sortStr, counts_only=False, collapse_on=None, uniques=None, with_cursor=None, stats=None,
19271930
totals=['SeriesInstanceUID'], op='AND', limit=int(limit), offset=int(offset)
19281931
)
1932+
print("study result:")
1933+
print(solr_result)
19291934
solr_result['response']['total'] = solr_result['facets']['total_SeriesInstanceUID']
19301935
solr_result['response']['total_instance_size'] = solr_result['facets']['instance_size']
19311936
else:
@@ -2057,7 +2062,7 @@ def filtergrp_to_sql(filtergrp_lst):
20572062
filtersql = get_bq_metadata(
20582063
filters, ["crdc_series_uuid", storage_loc], data_version, None, ["crdc_series_uuid", storage_loc],
20592064
no_submit=True, search_child_records_by="StudyInstanceUID",
2060-
reformatted_fields=reformatted_fields
2065+
reformatted_fields=reformatted_fields
20612066
)
20622067
# final cart sql may involve several filters. Need to avoid collisions in parameter sets
20632068
for param in filtersql['params']:

0 commit comments

Comments
 (0)