AdisTS: Fix mage result workdir and add scenario into paths.

scenarios
Pierre-Antoine 2026-06-04 15:21:03 +02:00
parent 850db144ac
commit da78d0cdb1
2 changed files with 43 additions and 13 deletions

View File

@ -164,11 +164,11 @@ class AdisTS(CommandLineSolver):
return lst
def input_param(self):
name = self._study.name
name = self._study.name.replace(" ", "_")
return f"{name}.REP"
def log_file(self):
name = self._study.name
name = self._study.name.replace(" ", "_")
return f"{name}.TRA"
def _export_ST(self, study, repertory, qlog, name="0"):

View File

@ -185,6 +185,9 @@ class SolverLogWindowAdisTS(PamhyrWindow):
parent=parent
)
self._workdir = ""
self._workdir_mage = ""
self.setup_action()
self.setup_alarm()
self.setup_connections()
@ -227,17 +230,47 @@ class SolverLogWindowAdisTS(PamhyrWindow):
self._alarm.timeout.connect(self.update)
def setup_workdir(self):
self._workdir = ""
scenario = self._study.status.scenario
srep = scenario.workdir()
if self._study.filename == "":
self._workdir = tempfile.TemporaryDirectory()
self._workdir = os.path.join(
tempfile.TemporaryDirectory(),
srep
)
else:
self._workdir = os.path.join(
os.path.dirname(self._study.filename),
"_PAMHYR_",
self._study.name.replace(" ", "_"),
self._solver.name.replace(" ", "_"),
srep
)
os.makedirs(self._workdir, exist_ok=True)
logger.info(f"Create workdir: '{self._workdir}'")
os.makedirs(self._workdir, exist_ok=True)
self.setup_mage_workdir()
def setup_mage_workdir(self):
scenario = self._study.status.scenario
srep = scenario.workdir()
if self._study.filename == "":
self._workdir_mage = os.path.join(
tempfile.TemporaryDirectory(),
srep
)
else:
self._workdir_mage = os.path.join(
os.path.dirname(self._study.filename),
"_PAMHYR_",
self._study.name.replace(" ", "_"),
self._mage_rep.replace(" ", "_"),
srep
)
logger.info(f"Create workdir: '{self._workdir_mage}'")
def setup_process(self):
self._alarm.start(100)
@ -253,7 +286,8 @@ class SolverLogWindowAdisTS(PamhyrWindow):
def export(self):
self._log(f" *** Export study {self._solver.name}", color="blue")
ok = self._solver.export(
self._study, self._workdir, self._mage_rep, qlog=self._output
self._study, self._workdir, self._workdir_mage,
qlog=self._output
)
self.update()
@ -367,7 +401,8 @@ class SolverLogWindowAdisTS(PamhyrWindow):
self._log(f" *** Export study {self._solver.name}", color="blue")
ok = self._solver.export(
self._study, self._workdir, self._mage_rep, qlog=self._output
self._study, self._workdir, self._workdir_mage,
qlog=self._output
)
if not ok:
@ -443,12 +478,7 @@ class SolverLogWindowAdisTS(PamhyrWindow):
mage_solver = next(filter(
lambda x: x._name == self._mage_rep, self._config.solvers
))
workdir_mage = os.path.join(
os.path.dirname(self._study.filename),
"_PAMHYR_",
self._study.name.replace(" ", "_"),
mage_solver.name.replace(" ", "_"),
)
workdir_mage = self._workdir_mage
def reading_fn():
self._results_mage = mage_solver.results(