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

setup.py
Pierre-Antoine Rouby 2024-01-16 14:05:29 +01:00
parent 9e9f56ee65
commit 99fe5e8f74
2 changed files with 32 additions and 3 deletions

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)

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)