From edf744eee1ff3d5551b97f944242dd0ade730f28 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Tue, 21 Nov 2023 14:24:31 +0100
Subject: [PATCH] Geometry: Fix profiles list sorting.

---
 src/Model/Geometry/Reach.py  |  4 ++++
 src/Solver/Mage.py           |  2 +-
 src/View/RunSolver/Window.py | 16 +++++++++++-----
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/Model/Geometry/Reach.py b/src/Model/Geometry/Reach.py
index b5a39e45..b6a5952d 100644
--- a/src/Model/Geometry/Reach.py
+++ b/src/Model/Geometry/Reach.py
@@ -134,6 +134,10 @@ class Reach(SQLSubModel):
 
         return self._profiles
 
+    @profiles.setter
+    def profiles(self, profiles):
+        self._profiles = profiles
+
     def get_profiles_from_kp(self, kp):
         return list(
             filter(
diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py
index 1bab8ac3..b814fd71 100644
--- a/src/Solver/Mage.py
+++ b/src/Solver/Mage.py
@@ -197,7 +197,7 @@ class Mage(CommandLineSolver):
                 )
 
         # Profile header line
-        wfile.write(f"{num}{c1}{c2}{t} {kp} {name} {sediment}\n")
+        wfile.write(f"{num}{c1}{c2}{t} {kp} {pname} {sediment}\n")
 
     def _export_ST_point_line(self, wfile, files, point):
         x = f"{point.x:<12f}"[0:12]
diff --git a/src/View/RunSolver/Window.py b/src/View/RunSolver/Window.py
index b338c302..c940b6ac 100644
--- a/src/View/RunSolver/Window.py
+++ b/src/View/RunSolver/Window.py
@@ -215,12 +215,18 @@ class SolverLogWindow(PamhyrWindow):
             if self._solver.log_file() != "":
                 self.find(QAction, "action_log_file").setEnabled(True)
 
-                # Get results
-                if self._results is None:
-                    self._results = self._solver.results(
-                        self._study, self._workdir, qlog=self._output)
-                    self._parent.set_results(self._solver, self._results)
+            self._update_get_results()
 
+        self._update_logs_all()
+
+    def _update_get_results(self):
+        if self._results is None:
+            self._results = self._solver.results(
+                self._study, self._workdir, qlog=self._output
+            )
+            self._parent.set_results(self._solver, self._results)
+
+    def _update_logs_all(self):
         while self._output.qsize() != 0:
             s = self._output.get()
             if type(s) is str and "[ERROR]" in s:
-- 
GitLab