From 1633f84c6c735a98ce9b6b5158fd4b5f30565633 Mon Sep 17 00:00:00 2001
From: Ivan Pavlovich <ivan.pavlovic@hes-so.ch>
Date: Thu, 20 Mar 2025 10:53:53 +0100
Subject: [PATCH] Modified graph script to ignore models with no result file

---
 .gitignore                |  1 +
 testModel/show_results.py | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index f13d16f8b..c1f665d46 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 dataSources/PubMed/tmp/*
+testModel/results/graphs/*
 .venv
\ No newline at end of file
diff --git a/testModel/show_results.py b/testModel/show_results.py
index 3eadfa8dd..5177062ff 100644
--- a/testModel/show_results.py
+++ b/testModel/show_results.py
@@ -26,17 +26,31 @@ models = [model for model in MODELS.keys()]
 metrics = ["TPR", "TNR", "Precision", "F1"]
 
 models_results = {}
+usable_models = []
 
 for model in models:
-    with open(f"{RESULTS_DIR}/{get_filename(model)}.json", "r", encoding="utf-8") as file:
+    file_path = f"{RESULTS_DIR}/{get_filename(model)}.json"
+
+    if not os.path.exists(file_path):
+        print(f"Warning: File {file_path} not found. Skipping model {model}.")
+        continue
+
+    with open(file_path, "r", encoding="utf-8") as file:
         data = json.load(file)
 
+        if "results" not in data:
+            print(f"Warning: 'results' key missing in {file_path}. Skipping model {model}.")
+            continue
+
         for length_category in length_categories:
             values = [data["results"][length_category][metric] for metric in metrics]
 
             data["results"][length_category] = values
 
         models_results[model] = data["results"]
+        usable_models.append(model)
+
+models = usable_models
 
 print("GENERATING BAR PLOTS")
 
-- 
GitLab