File tree Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Original file line number Diff line number Diff 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 ]
You can’t perform that action at this time.
0 commit comments