Results: Fix results reading before solver running... (again)

This commit is contained in:
Pierre-Antoine Rouby committed 2024-01-16 14:05:29 +01:00
1 parent 9e9f56ee65
commit 99fe5e8f74
2 files changed
+32 -3

No files matched your search

+29 -1
View File
@@ -138,6 +138,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
self.setup_connection()
self.default_style()
self.setup_debug_mode(init=True)
self.setup_results()
self.trans = QTranslator(self)
# self.ui.retranslateUi()
@@ -360,6 +361,16 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
for action in model_action:
self.enable_actions(action, not no_model)
def setup_results(self):
self._last_solver = None
self._last_results = None
for solver in self.conf.solvers:
if solver.name == self.conf.last_solver_name:
self._last_solver = solver
self.enable_actions("action_menu_results_last", True)
return
def set_results(self, solver, results):
self._last_solver = solver
self._last_results = results
@@ -821,6 +832,12 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
if results is None:
results = self._last_results
if self._last_results is None:
results = solver.results(
self._study,
self._solver_workdir(solver)
)
# No results available
if results is None:
return
@@ -845,8 +862,19 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
)
res.show()
def _solver_workdir(self, solver):
workdir = os.path.join(
os.path.dirname(self._study.filename),
"_PAMHYR_",
self._study.name.replace(" ", "_"),
solver.name.replace(" ", "_"),
)
return workdir
def open_last_results(self):
if self._last_solver is None or self._last_results is None:
if self._last_solver is None:
return
self.open_solver_results(self._last_solver, self._last_results)
+3 -2
View File
@@ -264,7 +264,7 @@ class SolverLogWindow(PamhyrWindow):
self.find(QAction, "action_log_file").setEnabled(True)
self._update_logs_all()
self._update_get_results()
# self._update_get_results()
self._update_logs_all()
@@ -348,7 +348,8 @@ class SolverLogWindow(PamhyrWindow):
def results(self):
if self._results is None:
self._results = self._solver.results(
self._study, self._workdir, qlog=self._output)
self._study, self._workdir, qlog=self._output
)
self._parent.set_results(self._solver, self._results)
self._parent.open_solver_results(self._solver, self._results)