@@ -236,7 +236,6 @@ def generate_models(config, args, project: Project, database_dir: str) -> None:
236236 language = config ["language" ]
237237
238238 generator = mad .Generator (language )
239- # Note: The argument parser converts with-sinks to with_sinks, etc.
240239 generator .generateSinks = should_generate_sinks (project )
241240 generator .generateSources = should_generate_sources (project )
242241 generator .generateSummaries = should_generate_summaries (project )
@@ -348,7 +347,7 @@ def download_dca_databases(
348347 """
349348 print ("\n === Finding projects ===" )
350349 project_map = {project ["name" ]: project for project in projects }
351- analyzed_databases = {}
350+ analyzed_databases = {n : None for n in project_map }
352351 for experiment_name in experiment_names :
353352 response = get_json_from_github (
354353 f"https://raw.githubusercontent.com/github/codeql-dca-main/data/{ experiment_name } /reports/downloads.json" ,
@@ -361,17 +360,24 @@ def download_dca_databases(
361360 artifact_name = analyzed_database ["artifact_name" ]
362361 pretty_name = pretty_name_from_artifact_name (artifact_name )
363362
364- if not pretty_name in project_map :
363+ if not pretty_name in analyzed_databases :
365364 print (f"Skipping { pretty_name } as it is not in the list of projects" )
366365 continue
367366
368- if pretty_name in analyzed_databases :
367+ if analyzed_databases [ pretty_name ] is not None :
369368 print (
370369 f"Skipping previous database { analyzed_databases [pretty_name ]['artifact_name' ]} for { pretty_name } "
371370 )
372371
373372 analyzed_databases [pretty_name ] = analyzed_database
374373
374+ not_found = [name for name , db in analyzed_databases .items () if db is None ]
375+ if not_found :
376+ print (
377+ f"ERROR: The following projects were not found in the DCA experiments: { ', ' .join (not_found )} "
378+ )
379+ sys .exit (1 )
380+
375381 def download_and_decompress (analyzed_database : dict ) -> str :
376382 artifact_name = analyzed_database ["artifact_name" ]
377383 repository = analyzed_database ["repository" ]
0 commit comments