From 8daf89d1c4b8e83b47f8194634ee4ec98a4b918c Mon Sep 17 00:00:00 2001
From: Theophile Terraz <theophile.terraz@inrae.fr>
Date: Fri, 31 Jan 2025 10:07:32 +0100
Subject: [PATCH] debug read_bin when .bin does not exist

---
 src/Solver/Mage.py | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py
index 414eb649..5525efaf 100644
--- a/src/Solver/Mage.py
+++ b/src/Solver/Mage.py
@@ -717,7 +717,7 @@ class Mage(CommandLineSolver):
     # RESULTS #
     ###########
 
-    def read_bin(self, study, repertory, results, qlog=None, name="0"):
+    def read_bin(self, study, fname, results, qlog=None, name="0"):
         return
 
     @timer
@@ -728,7 +728,16 @@ class Mage(CommandLineSolver):
             repertory=repertory,
             name=name,
         )
-        self.read_bin(study, repertory, results, qlog, name=name)
+        fname = os.path.join(repertory, f"{name}.BIN")
+        if not os.path.isfile(fname):
+            logger.info(f"Result file {name}.BIN does not exist")
+            return None
+        try:
+            self.read_bin(study, fname, results, qlog, name=name)
+        except Exception as e:
+            logger.error(f"Failed to read results")
+            logger_exception(e)
+            return None
 
         return results
 
@@ -934,8 +943,7 @@ class Mage8(Mage):
     ###########
 
     @timer
-    def read_bin(self, study, repertory, results, qlog=None, name="0"):
-        fname = os.path.join(repertory, f"{name}.BIN")
+    def read_bin(self, study, fname, results, qlog=None, name="0"):
         logger.info(f"read_bin: Start reading '{fname}' ...")
 
         with mage_file_open(fname, "r") as f:
@@ -1066,7 +1074,6 @@ class Mage8(Mage):
                 endline()
                 end = newline().size <= 0
 
-            logger.debug(reachs[0].profiles[0]._data)
             results.set("timestamps", ts)
             ts_list = sorted(ts)
             logger.info(f"compute tab...")
@@ -1265,6 +1272,8 @@ class Mage8(Mage):
             name = study.name.replace(" ", "_")
 
         results = super(Mage8, self).results(study, repertory, qlog, name=name)
+        if results is None:
+            return None
         if with_gra:
             self.read_gra(study, repertory, results, qlog, name=name)
 
-- 
GitLab