Skip to content

Commit 52fb994

Browse files
authored
[FIX] ace ingestion when doi is null (#772)
* improve ingestion of studies * style fix * fix multiple base-studies * fix style
1 parent f46761d commit 52fb994

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

store/neurostore/ingest/__init__.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,8 @@ def get_base_study(metadata_row):
494494
if len(base_studies) == 1:
495495
return base_studies[0]
496496
elif len(base_studies) > 1:
497-
return merge_base_studies(base_studies)
497+
return merge_base_studies(base_studies, doi, pmid)
498+
498499
else:
499500
created_bs = [
500501
bs for bs in all_base_studies if bs.doi == doi and bs.pmid == pmid
@@ -503,11 +504,18 @@ def get_base_study(metadata_row):
503504
return created_bs[0]
504505
return BaseStudy.query.filter_by(pmid=pmid).one_or_none()
505506

506-
def merge_base_studies(base_studies):
507-
source_base_study = next(
508-
filter(lambda bs: bs.pmid == pmid and bs.doi == doi, base_studies),
509-
base_studies[0],
510-
)
507+
def merge_base_studies(base_studies, doi, pmid):
508+
if doi is None:
509+
source_base_study = next(
510+
filter(lambda bs: bs.pmid == pmid and bs.doi is not None, base_studies),
511+
base_studies[0],
512+
)
513+
else:
514+
source_base_study = next(
515+
filter(lambda bs: bs.pmid == pmid and bs.doi == doi, base_studies),
516+
base_studies[0],
517+
)
518+
511519
other_base_studies = [
512520
bs for bs in base_studies if bs.id != source_base_study.id
513521
]

0 commit comments

Comments
 (0)