Compare commits

..

No commits in common. "efa16837d80acb00fb3d2ac6092d7fdb25061999" and "7e080767da9ecac9bc21f5182c7682bf6a27aa3b" have entirely different histories.

17 changed files with 338 additions and 418 deletions

View File

@ -248,13 +248,15 @@ class BoundaryConditionAdisTS(SQLSubModel):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False created = False
if major == "0" and int(minor) < 2: if major == "0" and minor == "0":
if cls.is_table_exists(execute, "boundary_condition_adists"): if int(release) < 11:
cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute) cls._db_create(execute)
created = True created = True
if major == "0" and int(minor) < 2:
if not created:
cls._db_update_to_0_2_0(execute, data)
if not created: if not created:
return cls._update_submodel(execute, version, data) return cls._update_submodel(execute, version, data)

View File

@ -73,13 +73,15 @@ class D90AdisTS(SQLSubModel):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False created = False
if major == "0" and int(minor) < 2: if major == "0" and minor == "0":
if cls.is_table_exists(execute, "d90_adists"): if int(release) < 11:
cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute) cls._db_create(execute)
created = True created = True
if major == "0" and int(minor) < 2:
if not created:
cls._db_update_to_0_2_0(execute, data)
if not created: if not created:
return cls._update_submodel(execute, version, data) return cls._update_submodel(execute, version, data)

View File

@ -70,12 +70,16 @@ class D90AdisTSSpec(SQLSubModel):
@classmethod @classmethod
def _db_update(cls, execute, version, data=None): def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False
if major == "0" and minor == "0":
if int(release) < 11:
cls._db_create(execute)
created = True
if major == "0" and int(minor) < 2: if major == "0" and int(minor) < 2:
if cls.is_table_exists(execute, "d90_spec"): if not created:
cls._db_update_to_0_2_0(execute, data) cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute)
return True return True

View File

@ -79,13 +79,15 @@ class DIFAdisTS(SQLSubModel):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False created = False
if major == "0" and int(minor) < 2: if major == "0" and minor == "0":
if cls.is_table_exists(execute, "dif_adists"): if int(release) < 11:
cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute) cls._db_create(execute)
created = True created = True
if major == "0" and int(minor) < 2:
if not created:
cls._db_update_to_0_2_0(execute, data)
if not created: if not created:
return cls._update_submodel(execute, version, data) return cls._update_submodel(execute, version, data)

View File

@ -81,12 +81,16 @@ class DIFAdisTSSpec(SQLSubModel):
@classmethod @classmethod
def _db_update(cls, execute, version, data=None): def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False
if major == "0" and minor == "0":
if int(release) < 11:
cls._db_create(execute)
created = True
if major == "0" and int(minor) < 2: if major == "0" and int(minor) < 2:
if cls.is_table_exists(execute, "dif_spec"): if not created:
cls._db_update_to_0_2_0(execute, data) cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute)
return True return True

View File

@ -66,11 +66,6 @@ class PointXYZ(Point):
) )
""") """)
execute(
"CREATE INDEX idx_point " +
"ON geometry_pointXYZ(profile, scenario);"
)
return cls._create_submodel(execute) return cls._create_submodel(execute)
@classmethod @classmethod
@ -95,13 +90,6 @@ class PointXYZ(Point):
"ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE" "ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE"
) )
if major == "0" and minor == "2":
if int(release) < 5:
execute(
"CREATE INDEX idx_point " +
"ON geometry_pointXYZ(profile, scenario);"
)
return cls._update_submodel(execute, version, data) return cls._update_submodel(execute, version, data)
@classmethod @classmethod

View File

@ -79,12 +79,16 @@ class InitialConditionsAdisTS(SQLSubModel):
@classmethod @classmethod
def _db_update(cls, execute, version, data=None): def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False
if major == "0" and minor == "0":
if int(release) < 11:
cls._db_create(execute)
created = True
if major == "0" and int(minor) < 2: if major == "0" and int(minor) < 2:
if cls.is_table_exists(execute, "initial_conditions_adists"): if not created:
cls._db_update_to_0_2_0(execute, data) cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute)
return True return True

View File

@ -77,12 +77,16 @@ class ICAdisTSSpec(SQLSubModel):
@classmethod @classmethod
def _db_update(cls, execute, version, data=None): def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False
if major == "0" and minor == "0":
if int(release) < 11:
cls._db_create(execute)
created = True
if major == "0" and int(minor) < 2: if major == "0" and int(minor) < 2:
if cls.is_table_exists(execute, "initial_conditions_adists_spec"): if not created:
cls._db_update_to_0_2_0(execute, data) cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute)
return True return True

View File

@ -69,11 +69,14 @@ class Data(SQLSubModel):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False created = False
if major == "0" and int(minor) < 2: if major == "0" and minor == "0":
if cls.is_table_exists(execute, "lateral_contribution_data_adists"): if int(release) < 11:
cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute) cls._db_create(execute)
created = True
if major == "0" and int(minor) < 2:
if not created:
cls._db_update_to_0_2_0(execute, data)
return True return True
@ -240,13 +243,15 @@ class LateralContributionAdisTS(SQLSubModel):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False created = False
if major == "0" and int(minor) < 2: if major == "0" and minor == "0":
if cls.is_table_exists(execute, "lateral_contribution_adists"): if int(release) < 11:
cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute) cls._db_create(execute)
created = True created = True
if major == "0" and int(minor) < 2:
if not created:
cls._db_update_to_0_2_0(execute, data)
if not created: if not created:
return cls._update_submodel(execute, version, data) return cls._update_submodel(execute, version, data)

View File

@ -95,12 +95,16 @@ class OutputRKAdists(SQLSubModel):
@classmethod @classmethod
def _db_update(cls, execute, version, data=None): def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False
if major == "0" and minor == "0":
if int(release) < 11:
cls._db_create(execute)
created = True
if major == "0" and int(minor) < 2: if major == "0" and int(minor) < 2:
if cls.is_table_exists(execute, "OutputRKAdists"): if not created:
cls._db_update_to_0_2_0(execute, data) cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute)
return True return True

View File

@ -34,6 +34,18 @@ from Model.BoundaryConditionsAdisTS.BoundaryConditionAdisTS import (
logger = logging.getLogger() logger = logging.getLogger()
# Types de polluants: indice -> nom du type
POLLUTANT_TYPES = {
0: "Soluté",
1: "Particules sphériques",
2: "Galets lisses",
3: "Sable naturel",
4: "Sable concassé",
5: "Cylindres longs",
6: "Limon, particules cohésives",
7: "Flocs"
}
class PollutantCharacteristics(SQLSubModel): class PollutantCharacteristics(SQLSubModel):
_sub_classes = [] _sub_classes = []
@ -138,12 +150,16 @@ class PollutantCharacteristics(SQLSubModel):
@classmethod @classmethod
def _db_update(cls, execute, version, data=None): def _db_update(cls, execute, version, data=None):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False
if major == "0" and minor == "0":
if int(release) < 11:
cls._db_create(execute)
created = True
if major == "0" and int(minor) < 2: if major == "0" and int(minor) < 2:
if cls.is_table_exists(execute, "Pollutants_characteristics"): if not created:
cls._db_update_to_0_2_0(execute, data) cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute)
return cls._update_submodel(execute, version, data) return cls._update_submodel(execute, version, data)
@ -366,13 +382,15 @@ class Pollutants(SQLSubModel):
major, minor, release = version.strip().split(".") major, minor, release = version.strip().split(".")
created = False created = False
if major == "0" and int(minor) < 2: if major == "0" and minor == "0":
if cls.is_table_exists(execute, "Pollutants"): if int(release) < 11:
cls._db_update_to_0_2_0(execute, data)
else:
cls._db_create(execute) cls._db_create(execute)
created = True created = True
if major == "0" and int(minor) < 2:
if not created:
cls._db_update_to_0_2_0(execute, data)
if not created: if not created:
return cls._update_submodel(execute, version, data) return cls._update_submodel(execute, version, data)

View File

@ -46,7 +46,7 @@ logger = logging.getLogger()
class Study(SQLModel): class Study(SQLModel):
_version = "0.2.5" _version = "0.2.4"
_sub_classes = [ _sub_classes = [
Scenario, Scenario,

View File

@ -301,15 +301,6 @@ class SQLSubModel(PamhyrID):
""" """
raise NotImplementedMethodeError(cls, cls._db_update) raise NotImplementedMethodeError(cls, cls._db_update)
@classmethod
def is_table_exists(cls, execute, table):
return any(
execute(
"SELECT name FROM sqlite_master " +
f"WHERE type='table' AND name='{table}'"
)
)
@classmethod @classmethod
def _db_update_to_0_2_0_set_node_pid(cls, execute, table, nodes): def _db_update_to_0_2_0_set_node_pid(cls, execute, table, nodes):
els = execute( els = execute(

View File

@ -40,6 +40,8 @@ from View.Pollutants.Edit.UndoCommand import (
SetDataCommand, PasteCommand, SetDataCommand, PasteCommand,
) )
from Model.Pollutants.Pollutants import POLLUTANT_TYPES
_translate = QCoreApplication.translate _translate = QCoreApplication.translate
logger = logging.getLogger() logger = logging.getLogger()
@ -49,20 +51,17 @@ class ComboBoxDelegate(QItemDelegate):
def __init__(self, type_dict=None, trad=None, parent=None): def __init__(self, type_dict=None, trad=None, parent=None):
super(ComboBoxDelegate, self).__init__(parent) super(ComboBoxDelegate, self).__init__(parent)
# self._type_dict = type_dict if type_dict else POLLUTANT_TYPES self._type_dict = type_dict if type_dict else POLLUTANT_TYPES
self._trad = trad self._trad = trad
self.editor = None self.editor = None
self._type = {}
if self._trad is not None:
self._type = self._trad.get_dict("type")
def createEditor(self, parent, option, index): def createEditor(self, parent, option, index):
self.editor = QComboBox(parent) self.editor = QComboBox(parent)
# Ajouter les items du dictionnaire # Ajouter les items du dictionnaire
for key, value in self._type.items(): for key in sorted(self._type_dict.keys()):
self.editor.addItem(value, key) display_text = self._type_dict[key]
self.editor.addItem(display_text, userData=key)
self.editor.currentTextChanged.connect(self.currentItemChanged) self.editor.currentTextChanged.connect(self.currentItemChanged)
return self.editor return self.editor
@ -97,14 +96,6 @@ class ComboBoxDelegate(QItemDelegate):
class TableModel(PamhyrTableModel): class TableModel(PamhyrTableModel):
def __init__(self, trad=None, **kwargs):
self._trad = trad
self._types = {}
if self._trad is not None:
self._types = self._trad.get_dict("types")
super(TableModel, self).__init__(trad=trad, **kwargs)
def is_same_data(self, index, value): def is_same_data(self, index, value):
row = index.row() row = index.row()
column = index.column() column = index.column()
@ -131,7 +122,7 @@ class TableModel(PamhyrTableModel):
# Si c'est la colonne "type", convertir l'indice en string # Si c'est la colonne "type", convertir l'indice en string
if self._headers[column] == "type": if self._headers[column] == "type":
value = self._trad.get_dict("type").get(value, "") return POLLUTANT_TYPES.get(int(value), str(value))
return value return value

View File

@ -24,18 +24,6 @@ from View.Pollutants.Translate import PollutantsTranslate
_translate = QCoreApplication.translate _translate = QCoreApplication.translate
# Types de polluants: indice -> nom du type
POLLUTANT_TYPES = {
0: "Solutes",
1: "Spherical particles",
2: "Smooth pebbles",
3: "Natural sand",
4: "Crushed sand",
5: "Elongated cylinders",
6: "Silts, cohesive particles",
7: "Flocs"
}
class EditPollutantTranslate(PollutantsTranslate): class EditPollutantTranslate(PollutantsTranslate):
def __init__(self): def __init__(self):
@ -56,14 +44,3 @@ class EditPollutantTranslate(PollutantsTranslate):
"ac": self._dict["unit_ac"], "ac": self._dict["unit_ac"],
"bc": self._dict["unit_bc"], "bc": self._dict["unit_bc"],
} }
self._sub_dict["type"] = {
0: _translate("Pollutants", "Solutes"),
1: _translate("Pollutants", "Spherical particles"),
2: _translate("Pollutants", "Smooth pebbles"),
3: _translate("Pollutants", "Natural sand"),
4: _translate("Pollutants", "Crushed sand"),
5: _translate("Pollutants", "Elongated cylinders"),
6: _translate("Pollutants", "Silts, cohesive particles"),
7: _translate("Pollutants", "Flocs"),
}

View File

@ -95,7 +95,6 @@ class EditPolluantWindow(PamhyrWindow):
editable_headers=editable_headers, editable_headers=editable_headers,
delegates={"type": self._delegate_type}, delegates={"type": self._delegate_type},
data=self._data, data=self._data,
trad=self._trad,
undo=self._undo_stack, undo=self._undo_stack,
opt_data=self._study.time_system opt_data=self._study.time_system
) )

File diff suppressed because it is too large Load Diff