diff --git a/src/Model/BoundaryConditionsAdisTS/BoundaryConditionAdisTS.py b/src/Model/BoundaryConditionsAdisTS/BoundaryConditionAdisTS.py index 1752d1ff..8c02d2b7 100644 --- a/src/Model/BoundaryConditionsAdisTS/BoundaryConditionAdisTS.py +++ b/src/Model/BoundaryConditionsAdisTS/BoundaryConditionAdisTS.py @@ -33,19 +33,17 @@ logger = logging.getLogger() class BoundaryConditionAdisTS(SQLSubModel): _sub_classes = [] - _id_cnt = 0 def __init__(self, id: int = -1, - pollutant: int = -1, status=None): - super(BoundaryConditionAdisTS, self).__init__() + pollutant: int = -1, status=None, + owner_scenario=-1): + super(BoundaryConditionAdisTS, self).__init__( + id=id, status=status, + owner_scenario=owner_scenario + ) self._status = status - if id == -1: - self.id = BoundaryConditionAdisTS._id_cnt - else: - self.id = id - self._type = "" self._node = None self._pollutant = pollutant @@ -53,9 +51,6 @@ class BoundaryConditionAdisTS(SQLSubModel): self._header = [] self._types = [self.time_convert, float] - BoundaryConditionAdisTS._id_cnt = max( - BoundaryConditionAdisTS._id_cnt + 1, self.id) - @classmethod def _db_create(cls, execute): execute(""" diff --git a/src/Model/D90AdisTS/D90AdisTS.py b/src/Model/D90AdisTS/D90AdisTS.py index 728673a9..9a47e952 100644 --- a/src/Model/D90AdisTS/D90AdisTS.py +++ b/src/Model/D90AdisTS/D90AdisTS.py @@ -33,29 +33,22 @@ class D90AdisTS(SQLSubModel): _sub_classes = [ D90AdisTSSpec, ] - _id_cnt = 0 def __init__(self, id: int = -1, name: str = "default", - status=None): - super(D90AdisTS, self).__init__() + status=None, + owner_scenario=-1): + super(D90AdisTS, self).__init__( + id=id, status=status, + owner_scenario=owner_scenario + ) self._status = status - if id == -1: - self.id = D90AdisTS._id_cnt - else: - self.id = id - self._name = name self._d90 = None self._enabled = True self._data = [] - D90AdisTS._id_cnt = max( - D90AdisTS._id_cnt + 1, - self.id - ) - @classmethod def _db_create(cls, execute): execute(""" diff --git a/src/Model/DIFAdisTS/DIFAdisTS.py b/src/Model/DIFAdisTS/DIFAdisTS.py index 30224b0a..287427f2 100644 --- a/src/Model/DIFAdisTS/DIFAdisTS.py +++ b/src/Model/DIFAdisTS/DIFAdisTS.py @@ -33,19 +33,16 @@ class DIFAdisTS(SQLSubModel): _sub_classes = [ DIFAdisTSSpec, ] - _id_cnt = 0 def __init__(self, id: int = -1, name: str = "default", - status=None): - super(DIFAdisTS, self).__init__() + status=None, owner_scenario=-1): + super(DIFAdisTS, self).__init__( + id=id, status=status, + owner_scenario=owner_scenario + ) self._status = status - if id == -1: - self.id = DIFAdisTS._id_cnt - else: - self.id = id - self._name = name self._method = None self._dif = None @@ -55,11 +52,6 @@ class DIFAdisTS(SQLSubModel): self._types = ["iwasa", "fisher", "elder", "constante", "generique"] self._data = [] - DIFAdisTS._id_cnt = max( - DIFAdisTS._id_cnt + 1, - self.id - ) - @classmethod def _db_create(cls, execute): execute(""" diff --git a/src/Model/InitialConditionsAdisTS/InitialConditionsAdisTS.py b/src/Model/InitialConditionsAdisTS/InitialConditionsAdisTS.py index d312f99c..4299463b 100644 --- a/src/Model/InitialConditionsAdisTS/InitialConditionsAdisTS.py +++ b/src/Model/InitialConditionsAdisTS/InitialConditionsAdisTS.py @@ -34,19 +34,17 @@ class InitialConditionsAdisTS(SQLSubModel): _sub_classes = [ ICAdisTSSpec, ] - _id_cnt = 0 def __init__(self, id: int = -1, name: str = "default", - pollutant: int = -1, status=None): - super(InitialConditionsAdisTS, self).__init__() + pollutant: int = -1, status=None, + owner_scenario=-1): + super(InitialConditionsAdisTS, self).__init__( + id=id, status=status, + owner_scenario=owner_scenario + ) self._status = status - if id == -1: - self.id = InitialConditionsAdisTS._id_cnt - else: - self.id = id - self._name = name self._pollutant = pollutant self._concentration = None @@ -56,11 +54,6 @@ class InitialConditionsAdisTS(SQLSubModel): self._enabled = True self._data = [] - InitialConditionsAdisTS._id_cnt = max( - InitialConditionsAdisTS._id_cnt + 1, - self.id - ) - @classmethod def _db_create(cls, execute): execute(""" diff --git a/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py b/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py index 5f80f140..91e156c2 100644 --- a/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py +++ b/src/Model/LateralContributionsAdisTS/LateralContributionAdisTS.py @@ -33,19 +33,17 @@ logger = logging.getLogger() class LateralContributionAdisTS(SQLSubModel): _sub_classes = [] - _id_cnt = 0 def __init__(self, id: int = -1, pollutant: int = -1, - name: str = "", status=None): - super(LateralContributionAdisTS, self).__init__() + name: str = "", status=None, + owner_scenario=-1): + super(LateralContributionAdisTS, self).__init__( + id=id, status=status, + owner_scenario=owner_scenario + ) self._status = status - if id == -1: - self.id = LateralContributionAdisTS._id_cnt - else: - self.id = id - self._pollutant = pollutant self._edge = None self._begin_rk = 0.0 @@ -54,9 +52,6 @@ class LateralContributionAdisTS(SQLSubModel): self._header = ["time", "rate"] self._types = [self.time_convert, float] - LateralContributionAdisTS._id_cnt = max( - LateralContributionAdisTS._id_cnt + 1, self.id) - @classmethod def _db_create(cls, execute): execute(""" diff --git a/src/Model/LateralContributionsAdisTS/LateralContributionsAdisTSList.py b/src/Model/LateralContributionsAdisTS/LateralContributionsAdisTSList.py index 00c4c981..7e4cf189 100644 --- a/src/Model/LateralContributionsAdisTS/LateralContributionsAdisTSList.py +++ b/src/Model/LateralContributionsAdisTS/LateralContributionsAdisTSList.py @@ -46,7 +46,7 @@ class LateralContributionsAdisTSList(PamhyrModelList): def _db_save(self, execute, data=None): execute("DELETE FROM lateral_contribution_adists") - execute("DELETE FROM lateral_condition_data_adists") + execute("DELETE FROM lateral_contribution_data_adists") if data is None: data = {} diff --git a/src/Model/OutputRKAdists/OutputRKAdists.py b/src/Model/OutputRKAdists/OutputRKAdists.py index ea385e3f..1b14cdf7 100644 --- a/src/Model/OutputRKAdists/OutputRKAdists.py +++ b/src/Model/OutputRKAdists/OutputRKAdists.py @@ -33,27 +33,22 @@ logger = logging.getLogger() class OutputRKAdists(SQLSubModel): _sub_classes = [] - _id_cnt = 0 def __init__(self, id: int = -1, reach=None, - rk=None, title: str = "", status=None): - super(OutputRKAdists, self).__init__() + rk=None, title: str = "", status=None, + owner_scenario=-1): + super(OutputRKAdists, self).__init__( + id=id, status=status, + owner_scenario=owner_scenario + ) self._status = status - if id == -1: - self.id = OutputRKAdists._id_cnt - else: - self.id = id - self._reach = reach self._rk = rk self._title = str(title) self._enabled = True - OutputRKAdists._id_cnt = max( - OutputRKAdists._id_cnt + 1, self.id) - @property def reach(self): return self._reach @@ -83,7 +78,7 @@ class OutputRKAdists(SQLSubModel): @classmethod def _db_create(cls, execute): - sql = ( + execute( "CREATE TABLE OutputRKAdists(" + "id INTEGER NOT NULL PRIMARY KEY, " + "reach INTEGER NOT NULL, " + @@ -93,8 +88,6 @@ class OutputRKAdists(SQLSubModel): ")" ) - execute(sql) - return cls._create_submodel(execute) @classmethod diff --git a/src/Model/Pollutants/Pollutants.py b/src/Model/Pollutants/Pollutants.py index 3cad65f5..afd237f0 100644 --- a/src/Model/Pollutants/Pollutants.py +++ b/src/Model/Pollutants/Pollutants.py @@ -35,16 +35,15 @@ class Pollutants(SQLSubModel): _sub_classes = [] _id_cnt = 0 - def __init__(self, id: int = -1, name: str = "", status=None): - super(Pollutants, self).__init__() + def __init__(self, id: int = -1, name: str = "", + status=None, + owner_scenario=-1): + super(Pollutants, self).__init__( + id=id, status=status, + owner_scenario=owner_scenario) self._status = status - if id == -1: - self.id = Pollutants._id_cnt - else: - self.id = id - if name is None or name == "": self.name = f"pol{self.id}" else: diff --git a/src/Model/Study.py b/src/Model/Study.py index 2c50b853..b9b33c6c 100644 --- a/src/Model/Study.py +++ b/src/Model/Study.py @@ -300,6 +300,8 @@ class Study(SQLModel): self.execute( f"UPDATE info SET value='{self._version}' WHERE key='version'" ) + logger.info("Update database done.") + return True logger.info("Update failed!") diff --git a/src/Model/test_Model.py b/src/Model/test_Model.py index cc1dc589..0ef33e8a 100644 --- a/src/Model/test_Model.py +++ b/src/Model/test_Model.py @@ -32,7 +32,11 @@ class StudyTestCase(unittest.TestCase): self.assertEqual(study.description, "bar") def test_open_study(self): - study = Study.open("../tests_cases/Enlargement/Enlargement.pamhyr") + study = Study.open( + os.path.join( + "..", "tests_cases", "Enlargement", "Enlargement.pamhyr" + ) + ) self.assertNotEqual(study, None) self.assertEqual(study.name, "Enlargement") diff --git a/tests_cases/Enlargement/Enlargement.pamhyr b/tests_cases/Enlargement/Enlargement.pamhyr index 92b931d2..12b3751d 100644 Binary files a/tests_cases/Enlargement/Enlargement.pamhyr and b/tests_cases/Enlargement/Enlargement.pamhyr differ