From 672f81f21648c3df5dbd960064272b886ba71b2e Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Tue, 16 Apr 2024 10:47:07 +0200
Subject: [PATCH] MeshingTools: Fix mailleurTT path.

---
 src/Meshing/Mage.py | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/src/Meshing/Mage.py b/src/Meshing/Mage.py
index 0726e098..cd4e577f 100644
--- a/src/Meshing/Mage.py
+++ b/src/Meshing/Mage.py
@@ -30,7 +30,7 @@ from ctypes import (
 )
 from PyQt5.QtCore import QProcess
 
-from tools import logger_color_red, logger_color_reset
+from tools import logger_color_red, logger_color_reset, logger_exception
 from Meshing.AMeshingTool import AMeshingTool
 
 logger = logging.getLogger()
@@ -278,7 +278,7 @@ class MeshingWithMageMailleurTT(AMeshingTool):
         return os.path.abspath(
             os.path.join(
                 os.path.dirname(__file__),
-                "..", "..", "..", "mage", f"mailleurTT{ext}"
+                "..", "..", "mage8", f"mailleurTT{ext}"
             )
         )
 
@@ -305,6 +305,8 @@ class MeshingWithMageMailleurTT(AMeshingTool):
             st_file = self.export_reach_to_st(reach, tmp)
             m_file = st_file.rsplit(".ST", 1)[0] + ".M"
 
+            os.sync()
+
             proc = QProcess()
             proc.setWorkingDirectory(tmp)
 
@@ -312,7 +314,7 @@ class MeshingWithMageMailleurTT(AMeshingTool):
             linear = 1 if linear else 0
 
             logger.info(
-                f"! mailleurTT {st_file} {m_file} " +
+                f"! {self._exe_path()} {st_file} {m_file} " +
                 f"{str(step)} " +
                 f"{limites[0]} {limites[1]} " +
                 f"{directrices[0]} {directrices[1]} " +
@@ -332,13 +334,22 @@ class MeshingWithMageMailleurTT(AMeshingTool):
             )
             proc.waitForFinished()
 
-            errors = proc.readAllStandardError()
-            if len(errors) != 0:
+            if proc.exitCode() != 0:
+                logger.error(
+                    f"{logger_color_red()}" +
+                    f"MailleurTT error: {proc.exitCode()}" +
+                    f"{logger_color_reset()}"
+                )
+                outputs = proc.readAllStandardOutput()
+                logger.debug(outputs)
+
+                errors = proc.readAllStandardError()
                 logger.error(
                     f"{logger_color_red()}{errors}{logger_color_reset()}"
                 )
             else:
                 self.import_m_file(reach, m_file)
+
             return reach
 
     def export_reach_to_st(self, reach, tmp):
@@ -350,7 +361,9 @@ class MeshingWithMageMailleurTT(AMeshingTool):
         return tmp_st
 
     def import_m_file(self, reach, m):
-        reach.purge()
-
-        logger.debug(f"meshing: Import geometry from {m}")
-        reach.import_geometry(m)
+        if os.path.exists(m):
+            reach.purge()
+            logger.debug(f"meshing: Import geometry from {m}")
+            reach.import_geometry(m)
+        else:
+            logger.error(f"meshing: Meshed geometry file {m} do not exists")
-- 
GitLab