diff --git a/src/Solver/ASolver.py b/src/Solver/ASolver.py index 5aaae4ffa58e19f51228ad494ab9b3e1cd467369..bfb47aa7d04a498d0091aa22d4df9425aea9671d 100644 --- a/src/Solver/ASolver.py +++ b/src/Solver/ASolver.py @@ -168,12 +168,21 @@ class AbstractSolver(object): # Run # ####### + def _install_dir(self): + return os.path.abspath( + os.path.join( + os.path.dirname(__file__), + ".." + ) + ) + def run_input_data_fomater(self): if self._cmd_input == "": self._run_next() return True cmd = self._cmd_input + cmd = cmd.replace("@install_dir", self._install_dir()) cmd = cmd.replace("@path", self._path_input) cmd = cmd.replace("@input", self.input_param()) cmd = cmd.replace("@dir", self._process.workingDirectory()) @@ -196,6 +205,7 @@ class AbstractSolver(object): return True cmd = self._cmd_solver + cmd = cmd.replace("@install_dir", self._install_dir()) cmd = cmd.replace("@path", self._path_solver) cmd = cmd.replace("@input", self.input_param()) cmd = cmd.replace("@dir", self._process.workingDirectory()) @@ -219,6 +229,7 @@ class AbstractSolver(object): return True cmd = self._cmd_output + cmd = cmd.replace("@install_dir", self._install_dir()) cmd = cmd.replace("@path", self._path_output) cmd = cmd.replace("@input", self.input_param()) cmd = cmd.replace("@dir", self._process.workingDirectory()) diff --git a/src/config.py b/src/config.py index d18a8e34d9fce1050f6c696b793fabe6a6d9b0cb..5e98a7afc1c22d3ef27f0bee11239225d60a211b 100644 --- a/src/config.py +++ b/src/config.py @@ -34,7 +34,7 @@ logger = logging.getLogger() class Config(SQL): def __init__(self): - self._version = '0.0.1' + self._version = '0.0.2' self.filename = Config.filename() self.set_default_value() @@ -79,12 +79,34 @@ class Config(SQL): self.commit() + def _update(self): version = self.execute(f"SELECT value FROM info WHERE key='version'")[0] if version != self._version: logger.info(f"Configuration file update from {version} to {self._version}...") + major, minor, release = version.strip().split(".") + + if major == minor == "0": + if int(release) < 2: + # Add default solver + posix = os.name == 'posix' + self.execute(f""" + INSERT INTO solver VALUES ( + 'mage8', + 'default-mage', + 'Default PAMHYR mage 8 version', + + '', '', '', + + '', + '@install_dir/mage/mage{"" if posix else ".exe"} -fp=1 @input', + '' + ) + """) + self.commit() + def _load_solver(self): self._solvers = []