@@ -336,7 +336,8 @@ def process_one_collection(collection_json_path, index_json, args, tag, updated_
336336 }
337337 json_write (collection_json , collection_json_path , no_sort_keys = True )
338338
339- release_infos = prepare_dataset_release_infos (args , datasets_from_index_json , collection_dir , tag , updated_at )
339+ release_infos = prepare_dataset_release_infos (args , datasets , datasets_from_index_json , collection_dir , tag ,
340+ updated_at )
340341 release_infos = sort_release_infos (release_infos , dataset_order )
341342
342343 collection_info = deepcopy (collection_json )
@@ -357,23 +358,28 @@ def get_datasets_from_index_json(index_json, collection_id):
357358 return dict_get (collection , ["datasets" ]) or []
358359
359360
360- def prepare_dataset_release_infos (args , datasets , collection_dir , tag , updated_at ):
361+ def prepare_dataset_release_infos (args , datasets , datasets_from_index_json , collection_dir , tag , updated_at ):
361362 release_infos = []
362363 for pathogen_json_path in find_files ("pathogen.json" , collection_dir ):
363364 pathogen_json = json_read (pathogen_json_path )
364365 dataset_dir = dirname (pathogen_json_path )
365366 dataset_dir_rel = relpath (dataset_dir , args .input_dir )
366367
367- i_dataset = find_index_by ( lambda dataset : dataset [ "path" ] == dataset_dir_rel , datasets )
368- dataset = pathogen_json
368+ dataset_from_index = pathogen_json
369+ i_dataset = find_index_by ( lambda dataset : dataset [ "path" ] == dataset_dir_rel , datasets_from_index_json )
369370 if i_dataset is not None :
370- dataset = datasets [i_dataset ]
371-
372- path = dict_get (dataset , ['path' ]) or dataset_dir_rel
371+ dataset_from_index = datasets_from_index_json [i_dataset ]
373372
374- if not dataset_has_changes (dataset , dataset_dir ):
373+ if not dataset_has_changes (dataset_from_index , dataset_dir ):
375374 continue
376375
376+ dataset_new = dataset_from_index
377+ i_dataset = find_index_by (lambda dataset : dataset ["path" ] == dataset_dir_rel , datasets )
378+ if i_dataset is not None :
379+ dataset_new = datasets [i_dataset ]
380+
381+ path = dict_get (dataset_new , ['path' ]) or dataset_dir_rel
382+
377383 changelog_path = join (dataset_dir , "CHANGELOG.md" )
378384 release_notes = changelog_get_unreleased_section (changelog_path )
379385 if len (release_notes ) == 0 :
@@ -386,14 +392,16 @@ def prepare_dataset_release_infos(args, datasets, collection_dir, tag, updated_a
386392 )
387393
388394 if args .release :
389- _ , last_version = dataset_get_versions (dataset )
390- release_info = prepare_dataset_release_info (dataset_dir , dataset , dict_get (last_version , ["tag" ]), updated_at )
395+ _ , last_version = dataset_get_versions (dataset_from_index )
396+ release_info = prepare_dataset_release_info (
397+ dataset_dir , dataset_from_index , dict_get (last_version , ["tag" ]), updated_at
398+ )
391399 if release_info is None :
392400 continue
393401
394402 release_infos .append (release_info )
395403
396- create_dataset_package (args , dataset , path , tag , dataset_dir )
404+ create_dataset_package (args , dataset_new , path , tag , dataset_dir )
397405
398406 return release_infos
399407
@@ -443,8 +451,8 @@ def publish_to_github_releases(args, tag, commit_hash, release_notes):
443451
444452
445453def prepare_dataset_release_info (dataset_dir , dataset , last_version , updated_at ):
446- modified_files = list (git_get_modified_files (from_revision = last_version , dirs = dataset_dir ))
447- modified_files = list (map (lambda f : realpath (f ), modified_files ))
454+ # modified_files = list(git_get_modified_files(from_revision=last_version, dirs=dataset_dir))
455+ # modified_files = list(map(lambda f: realpath(f), modified_files))
448456
449457 # if len(modified_files) == 0:
450458 # return None
@@ -468,7 +476,6 @@ def prepare_dataset_release_info(dataset_dir, dataset, last_version, updated_at)
468476def create_dataset_package (args , dataset , path , tag , dataset_dir ):
469477 files = dict_get_required (dataset , ["files" ])
470478 dict_get_required (files , ["reference" ])
471- dict_get_required (files , ["pathogenJson" ])
472479
473480 out_dir = join (args .output_dir , path , tag )
474481 for _ , file in files .items ():
@@ -477,6 +484,10 @@ def create_dataset_package(args, dataset, path, tag, dataset_dir):
477484 if file == "tree.json" :
478485 # Minify tree.json
479486 json .dump (json_read (inpath ), open (outpath , "w" ), separators = ("," , ":" ), indent = None )
487+ elif file == "pathogen.json" :
488+ pathogen_json = json_read (inpath )
489+ pathogen_json ["version" ] = dataset ["version" ]
490+ json_write (pathogen_json , outpath , no_sort_keys = True )
480491 else :
481492 copy (inpath , outpath )
482493
0 commit comments