diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c7987f56f3fd19e9f3b68bdb9171c21c74ce364b..1a9569b02d78cfa7ca03fb7aaf13a5ccf88eb8fb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,6 +59,7 @@ dl-mage8-linux: artifacts: paths: - mage8-linux/mage + - mage8-linux/mage_as7 - mage8-linux/mage_extraire - mage8-linux/mailleurTT - mage8-linux/libbief.so @@ -77,6 +78,7 @@ dl-mage8-windows: artifacts: paths: - mage8-windows/mage.exe + - mage8-windows/mage_as7.exe - mage8-windows/mage_extraire.exe - mage8-windows/mailleurTT.exe - mage8-windows/libbief.dll diff --git a/packages/make-windows-dir.bat b/packages/make-windows-dir.bat index 9ce537ce3b65c610b2670365b4241ba913bdc6a2..eae6d8f8d8ba562bad806bb0f4ab1d68c5b8b228 100644 --- a/packages/make-windows-dir.bat +++ b/packages/make-windows-dir.bat @@ -41,6 +41,7 @@ copy /y ..\src\motd.txt pamhyr\_internal rem MAGE mkdir pamhyr\mage8 copy /y ..\mage8-windows\mage.exe pamhyr\mage8\ +copy /y ..\mage8-windows\mage_as7.exe pamhyr\mage8\ copy /y ..\mage8-windows\mage_extraire.exe pamhyr\mage8\ copy /y ..\mage8-windows\mailleurTT.exe pamhyr\mage8\ copy /y ..\mage8-windows\libbief.dll pamhyr\mage8\ diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py index 1a3f829b8d5981914ea77a698e75bff69e8cac9f..7da2328a22d6a22bba0d20a06295afcae74cd9a3 100644 --- a/src/Solver/Mage.py +++ b/src/Solver/Mage.py @@ -876,6 +876,16 @@ class Mage8(Mage): return files + def export_func_dict(self): + return [ + self._export_ST, self._export_PAR, + self._export_NET, self._export_bound_cond, + self._export_RUG, self._export_INI, + self._export_SIN, self._export_VAR, + self._export_CAS, self._export_DEV, + self.export_additional_files, + ] + @timer def export(self, study, repertory, qlog=None, name="0"): self._study = study @@ -888,20 +898,8 @@ class Mage8(Mage): # Generate files files = [] - files = self._export_ST(study, repertory, qlog, name=name) - files = files + self._export_PAR(study, repertory, qlog, name=name) - files = files + self._export_NET(study, repertory, qlog, name=name) - files = files + \ - self._export_bound_cond(study, repertory, qlog, name=name) - files = files + self._export_RUG(study, repertory, qlog, name=name) - files = files + self._export_INI(study, repertory, qlog, name=name) - files = files + self._export_SIN(study, repertory, qlog, name=name) - files = files + self._export_VAR(study, repertory, qlog, name=name) - files = files + self._export_CAS(study, repertory, qlog, name=name) - files = files + self._export_DEV(study, repertory, qlog, name=name) - files = files + self.export_additional_files( - study, repertory, qlog, name=name - ) + for func in self.export_func_dict(): + files = files + func(study, repertory, qlog, name=name) self.export_study_description(study, repertory, qlog, name=name) self._export_REP(study, repertory, files, qlog, name=name) @@ -1219,12 +1217,35 @@ class Mage8(Mage): logger.info(f"read_gra: ... end with {len(ts)} timestamp read") @timer - def results(self, study, repertory, qlog=None, name=None): + def results(self, study, repertory, + qlog=None, name=None, + with_gra=True): self._study = study if name is None: name = study.name.replace(" ", "_") results = super(Mage8, self).results(study, repertory, qlog, name=name) - self.read_gra(study, repertory, results, qlog, name=name) + if with_gra: + self.read_gra(study, repertory, results, qlog, name=name) + + return results + + +class MageFake7(Mage8): + _type = "mage_fake7" + + def __init__(self, name): + super(MageFake7, self).__init__(name) + + self._type = "mage_fake7" + + @timer + def results(self, study, repertory, + qlog=None, name=None, + with_gra=False): + results = super(MageFake7, self).results( + study, repertory, + qlog, name=name, with_gra=with_gra + ) return results diff --git a/src/Solver/Solvers.py b/src/Solver/Solvers.py index 38f443e939c25920c9d58e4304dea0986c0e4385..e1ced449669031aac04d27e9783d56c74cc1ca90 100644 --- a/src/Solver/Solvers.py +++ b/src/Solver/Solvers.py @@ -19,7 +19,9 @@ from PyQt5.QtCore import QCoreApplication from Solver.GenericSolver import GenericSolver -from Solver.Mage import Mage7, Mage8 +from Solver.Mage import ( + Mage7, Mage8, MageFake7, +) _translate = QCoreApplication.translate @@ -27,10 +29,12 @@ solver_long_name = { # "generic": "Generic", # "mage7": "Mage v7", "mage8": "Mage v8", + "mage_fake7": "Mage fake v7", } solver_type_list = { # "generic": GenericSolver, # "mage7": Mage7, "mage8": Mage8, + "mage_fake7": MageFake7, } diff --git a/src/config.py b/src/config.py index 091542ec6df37471e6755d1a77a34ac60643abfe..f18708d79326f1e5dce6ca10c29de870602fab45 100644 --- a/src/config.py +++ b/src/config.py @@ -285,16 +285,24 @@ class Config(SQL): posix = os.name == 'posix' ext = "" if posix else ".exe" + # Mage8 ctor = solver_type_list["mage8"] new = ctor("default-mage") new._description = "Default Pamhyr2 mage 8 version" new._cmd_solver = f""""@install_dir/mage8/mage{ext}" @args @input""" self._solvers.append(new) + # Mage fake 7 + ctor = solver_type_list["mage_fake7"] + new = ctor("default-mage-fake-7") + new._description = "Default Pamhyr2 mage fake version 7" + new._cmd_solver = f""""@install_dir/mage8/mage_as7{ext}" @args @input""" + self._solvers.append(new) + # Backup self.backup_enable = True # self.backup_path = "" - self.backup_frequence = "00:05:00" + self.backup_frequence = "00:15:00" # self.backup_max = 10 # Editor