Compare commits

...

4 Commits

17 changed files with 89 additions and 103 deletions

View File

@ -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("""
@ -83,6 +78,11 @@ class BoundaryConditionAdisTS(SQLSubModel):
@classmethod
def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".")
if major == "0" and int(minor) <= 1:
if int(release) < 7:
cls._db_create(execute)
return True
@classmethod

View File

@ -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("""
@ -72,7 +65,7 @@ class D90AdisTS(SQLSubModel):
@classmethod
def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".")
if major == 0 and minor < 1:
if major == "0" and int(minor) <= 1:
if int(release) < 6:
cls._db_create(execute)

View File

@ -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("""
@ -79,7 +71,7 @@ class DIFAdisTS(SQLSubModel):
@classmethod
def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".")
if major == 0 and minor < 1:
if major == "0" and int(minor) <= 1:
if int(release) < 6:
cls._db_create(execute)

View File

@ -81,7 +81,7 @@ class Friction(SQLSubModel):
cls._db_update_to_0_1_0(execute, data)
if major == "0" and minor == "1":
if release < 2:
if int(release) < 2:
execute(
"ALTER TABLE friction " +
"ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE"

View File

@ -41,7 +41,6 @@ class FrictionList(PamhyrModelList):
@classmethod
def _db_update(cls, execute, version, data=None):
if version == "0.0.0":
logger.info(f"Update friction TABLE from {version}")
cls._db_update_0_0_1(execute, version)
return cls._update_submodel(execute, version, data)

View File

@ -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("""
@ -82,7 +75,7 @@ class InitialConditionsAdisTS(SQLSubModel):
@classmethod
def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".")
if major == 0 and minor < 1:
if major == "0" and int(minor) <= 1:
if int(release) < 6:
cls._db_create(execute)

View File

@ -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("""
@ -85,6 +80,11 @@ class LateralContributionAdisTS(SQLSubModel):
@classmethod
def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".")
if major == "0" and int(minor) <= 1:
if int(release) < 7:
cls._db_create(execute)
return True
@classmethod

View File

@ -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 = {}

View File

@ -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,8 +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, " +
@ -94,12 +88,15 @@ class OutputRKAdists(SQLSubModel):
")"
)
execute(sql)
return cls._create_submodel(execute)
@classmethod
def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".")
if major == "0" and int(minor) <= 1:
if int(release) < 7:
cls._db_create(execute)
return True
@classmethod

View File

@ -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:
@ -99,6 +98,11 @@ class Pollutants(SQLSubModel):
@classmethod
def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".")
if major == "0" and int(minor) <= 1:
if int(release) < 7:
cls._db_create(execute)
return True
@classmethod

View File

@ -134,8 +134,8 @@ class REPLine(SQLSubModel):
else:
cls._db_update_to_0_0_14(execute, data)
if major == "0" and minor == "1":
if release < 2:
if major == "0" and int(minor) <= 1:
if int(release) < 2:
execute(
"ALTER TABLE rep_lines " +
"ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE"

View File

@ -66,8 +66,8 @@ class Data(SQLSubModel):
if int(release) > 5:
cls._db_update_to_0_1_0(execute, data)
if major == "0" and minor == "1":
if release < 2:
if major == "0" and int(minor) <= 1:
if int(release) < 2:
execute(
"ALTER TABLE reservoir_data " +
"ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE"
@ -244,7 +244,7 @@ class Reservoir(SQLSubModel):
cls._db_update_to_0_1_0(execute, data)
if major == "0" and minor == "1":
if release < 2:
if int(release) < 2:
execute(
"ALTER TABLE additional_files " +
"ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE"

View File

@ -44,7 +44,7 @@ class Study(SQLModel):
def __init__(self, filename=None, init_new=True):
# Metadata
self._version = "0.1.2"
self._version = "0.1.7"
self.creation_date = datetime.now()
self.last_modification_date = datetime.now()
self.last_save_date = datetime.now()
@ -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!")

View File

@ -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")

View File

@ -182,7 +182,6 @@ class InitialConditionsWindow(PamhyrWindow):
self.find(QAction, "action_import").triggered\
.connect(self.import_from_file)
self.find(QPushButton, "pushButton_generate_1").clicked.connect(
self.generate_growing_constant_depth
)

View File

@ -1,12 +1,15 @@
#! /bin/sh
echo " Setup ENV"
if [ -z "$GUIX_ENVIRONMENT" ]
then
echo " Setup ENV"
python3 -m venv venv
. venv/bin/activate
pip3 install -U pip
pip3 install -r ./full-requirements.txt
pip3 install -U -r ./full-requirements.txt
python3 -m venv venv
. venv/bin/activate
pip3 install -U pip
pip3 install -r ./full-requirements.txt
pip3 install -U -r ./full-requirements.txt
fi
echo " UNITTEST"