mirror of https://gitlab.com/pamhyr/pamhyr2
pamhyr: Rename '_sql_*' function to '_db_*'.
parent
8d92fbbdac
commit
ea2dbfba3e
|
|
@ -51,7 +51,7 @@ class BoundaryCondition(SQLSubModel):
|
||||||
BoundaryCondition._id_cnt = max(BoundaryCondition._id_cnt + 1, self.id)
|
BoundaryCondition._id_cnt = max(BoundaryCondition._id_cnt + 1, self.id)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE boundary_condition(
|
CREATE TABLE boundary_condition(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -77,7 +77,7 @@ class BoundaryCondition(SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -102,7 +102,7 @@ class BoundaryCondition(SQLSubModel):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = []
|
new = []
|
||||||
tab = data["tab"]
|
tab = data["tab"]
|
||||||
|
|
||||||
|
|
@ -144,7 +144,7 @@ class BoundaryCondition(SQLSubModel):
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
tab = data["tab"]
|
tab = data["tab"]
|
||||||
|
|
||||||
execute(f"DELETE FROM boundary_condition WHERE id = {self.id}")
|
execute(f"DELETE FROM boundary_condition WHERE id = {self.id}")
|
||||||
|
|
@ -158,16 +158,16 @@ class BoundaryCondition(SQLSubModel):
|
||||||
"INSERT INTO " +
|
"INSERT INTO " +
|
||||||
"boundary_condition(id, name, type, tab, node) " +
|
"boundary_condition(id, name, type, tab, node) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, '{self._sql_format(self._name)}', " +
|
f"{self.id}, '{self._db_format(self._name)}', " +
|
||||||
f"'{self._sql_format(self._type)}', '{tab}', {node}" +
|
f"'{self._db_format(self._type)}', '{tab}', {node}" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
execute(sql)
|
execute(sql)
|
||||||
|
|
||||||
ind = 0
|
ind = 0
|
||||||
for d in self._data:
|
for d in self._data:
|
||||||
data0 = self._sql_format(str(d[0]))
|
data0 = self._db_format(str(d[0]))
|
||||||
data1 = self._sql_format(str(d[1]))
|
data1 = self._db_format(str(d[1]))
|
||||||
|
|
||||||
sql = (
|
sql = (
|
||||||
"INSERT INTO " +
|
"INSERT INTO " +
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ class BoundaryConditionList(PamhyrModelListWithTab):
|
||||||
]
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(status=data['status'])
|
new = cls(status=data['status'])
|
||||||
|
|
||||||
if data is None:
|
if data is None:
|
||||||
|
|
@ -46,13 +46,13 @@ class BoundaryConditionList(PamhyrModelListWithTab):
|
||||||
|
|
||||||
for tab in new._tabs:
|
for tab in new._tabs:
|
||||||
data["tab"] = tab
|
data["tab"] = tab
|
||||||
new._tabs[tab] = BoundaryCondition._sql_load(
|
new._tabs[tab] = BoundaryCondition._db_load(
|
||||||
execute, data
|
execute, data
|
||||||
)
|
)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
execute("DELETE FROM boundary_condition")
|
execute("DELETE FROM boundary_condition")
|
||||||
|
|
||||||
if data is None:
|
if data is None:
|
||||||
|
|
@ -61,7 +61,7 @@ class BoundaryConditionList(PamhyrModelListWithTab):
|
||||||
for tab in self._tabs:
|
for tab in self._tabs:
|
||||||
data["tab"] = tab
|
data["tab"] = tab
|
||||||
for bc in self._tabs[tab]:
|
for bc in self._tabs[tab]:
|
||||||
bc._sql_save(execute, data=data)
|
bc._db_save(execute, data=data)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ class Friction(SQLSubModel):
|
||||||
self._end_strickler = None
|
self._end_strickler = None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE friction(
|
CREATE TABLE friction(
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
|
@ -54,11 +54,11 @@ class Friction(SQLSubModel):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = []
|
new = []
|
||||||
reach = data["parent"] # Reach object
|
reach = data["parent"] # Reach object
|
||||||
status = data["status"]
|
status = data["status"]
|
||||||
|
|
@ -88,7 +88,7 @@ class Friction(SQLSubModel):
|
||||||
|
|
||||||
yield ind, sec
|
yield ind, sec
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
ind = data["ind"]
|
ind = data["ind"]
|
||||||
execute(
|
execute(
|
||||||
"INSERT INTO " +
|
"INSERT INTO " +
|
||||||
|
|
|
||||||
|
|
@ -35,28 +35,28 @@ class FrictionList(PamhyrModelList):
|
||||||
]
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update_0_0_1(cls, execute, version):
|
def _db_update_0_0_1(cls, execute, version):
|
||||||
execute("ALTER TABLE `section` RENAME TO `friction`")
|
execute("ALTER TABLE `section` RENAME TO `friction`")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
if version == "0.0.0":
|
if version == "0.0.0":
|
||||||
logger.info(f"Update friction TABLE from {version}")
|
logger.info(f"Update friction TABLE from {version}")
|
||||||
cls._sql_update_0_0_1(execute, version)
|
cls._db_update_0_0_1(execute, version)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(status=data['status'])
|
new = cls(status=data['status'])
|
||||||
|
|
||||||
new._lst = Friction._sql_load(
|
new._lst = Friction._db_load(
|
||||||
execute, data
|
execute, data
|
||||||
)
|
)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
reach = data["reach"]
|
reach = data["reach"]
|
||||||
execute(f"DELETE FROM friction WHERE reach = {reach.id}")
|
execute(f"DELETE FROM friction WHERE reach = {reach.id}")
|
||||||
|
|
||||||
|
|
@ -64,7 +64,7 @@ class FrictionList(PamhyrModelList):
|
||||||
ind = 0
|
ind = 0
|
||||||
for friction in self._lst:
|
for friction in self._lst:
|
||||||
data["ind"] = ind
|
data["ind"] = ind
|
||||||
ok &= friction._sql_save(execute, data=data)
|
ok &= friction._db_save(execute, data=data)
|
||||||
ind += 1
|
ind += 1
|
||||||
|
|
||||||
return ok
|
return ok
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ class PointXYZ(Point, SQLSubModel):
|
||||||
self._z = float(z)
|
self._z = float(z)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE geometry_pointXYZ(
|
CREATE TABLE geometry_pointXYZ(
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
|
@ -55,7 +55,7 @@ class PointXYZ(Point, SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
cls._update_submodel(execute, version)
|
cls._update_submodel(execute, version)
|
||||||
|
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
|
|
@ -71,7 +71,7 @@ class PointXYZ(Point, SQLSubModel):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
status = data["status"]
|
status = data["status"]
|
||||||
profile = data["profile"]
|
profile = data["profile"]
|
||||||
|
|
||||||
|
|
@ -109,7 +109,7 @@ class PointXYZ(Point, SQLSubModel):
|
||||||
|
|
||||||
yield ind, new
|
yield ind, new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
profile = data["profile"]
|
profile = data["profile"]
|
||||||
ind = data["ind"]
|
ind = data["ind"]
|
||||||
|
|
||||||
|
|
@ -119,7 +119,7 @@ class PointXYZ(Point, SQLSubModel):
|
||||||
"INSERT OR REPLACE INTO " +
|
"INSERT OR REPLACE INTO " +
|
||||||
"geometry_pointXYZ(ind, name, x, y, z, profile, sl) " +
|
"geometry_pointXYZ(ind, name, x, y, z, profile, sl) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{ind}, '{self._sql_format(self._name)}', " +
|
f"{ind}, '{self._db_format(self._name)}', " +
|
||||||
f"{self.x}, {self.y}, {self.z}, " +
|
f"{self.x}, {self.y}, {self.z}, " +
|
||||||
f"{profile.id}, {sl}" +
|
f"{profile.id}, {sl}" +
|
||||||
")"
|
")"
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE geometry_profileXYZ(
|
CREATE TABLE geometry_profileXYZ(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -89,7 +89,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
if major == minor == "0":
|
if major == minor == "0":
|
||||||
if int(release) < 2:
|
if int(release) < 2:
|
||||||
|
|
@ -104,7 +104,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
profiles = []
|
profiles = []
|
||||||
status = data["status"]
|
status = data["status"]
|
||||||
reach = data["reach"]
|
reach = data["reach"]
|
||||||
|
|
@ -147,7 +147,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
)
|
)
|
||||||
|
|
||||||
data["profile"] = new
|
data["profile"] = new
|
||||||
new._points = PointXYZ._sql_load(execute, data.copy())
|
new._points = PointXYZ._db_load(execute, data.copy())
|
||||||
|
|
||||||
yield ind, new
|
yield ind, new
|
||||||
|
|
||||||
|
|
@ -155,7 +155,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
|
|
||||||
# return profiles
|
# return profiles
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
ok = True
|
ok = True
|
||||||
ind = data["ind"]
|
ind = data["ind"]
|
||||||
|
|
||||||
|
|
@ -166,7 +166,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
"geometry_profileXYZ(id, ind, name, reach, " +
|
"geometry_profileXYZ(id, ind, name, reach, " +
|
||||||
"kp, num, code1, code2, sl) " +
|
"kp, num, code1, code2, sl) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, {ind}, '{self._sql_format(self._name)}', " +
|
f"{self.id}, {ind}, '{self._db_format(self._name)}', " +
|
||||||
f"{self.reach.id}, {self.kp}, {self.num}, " +
|
f"{self.reach.id}, {self.kp}, {self.num}, " +
|
||||||
f"{self.code1}, {self.code1}, {sl}" +
|
f"{self.code1}, {self.code1}, {sl}" +
|
||||||
")"
|
")"
|
||||||
|
|
@ -179,7 +179,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
ind = 0
|
ind = 0
|
||||||
for point in self.points:
|
for point in self.points:
|
||||||
data["ind"] = ind
|
data["ind"] = ind
|
||||||
ok &= point._sql_save(execute, data)
|
ok &= point._db_save(execute, data)
|
||||||
ind += 1
|
ind += 1
|
||||||
|
|
||||||
return ok
|
return ok
|
||||||
|
|
|
||||||
|
|
@ -52,25 +52,25 @@ class Reach(SQLSubModel):
|
||||||
self._guidelines = {}
|
self._guidelines = {}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(status=data["status"], parent=data["parent"])
|
new = cls(status=data["status"], parent=data["parent"])
|
||||||
|
|
||||||
new._profiles = ProfileXYZ._sql_load(
|
new._profiles = ProfileXYZ._db_load(
|
||||||
execute,
|
execute,
|
||||||
data=data
|
data=data
|
||||||
)
|
)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
# Delete old data
|
# Delete old data
|
||||||
execute(f"DELETE FROM geometry_profileXYZ WHERE reach = {self.id}")
|
execute(f"DELETE FROM geometry_profileXYZ WHERE reach = {self.id}")
|
||||||
# execute(f"DELETE FROM geometry_pointXYZ")
|
# execute(f"DELETE FROM geometry_pointXYZ")
|
||||||
|
|
@ -81,7 +81,7 @@ class Reach(SQLSubModel):
|
||||||
ind = 0
|
ind = 0
|
||||||
for profile in self.profiles:
|
for profile in self.profiles:
|
||||||
data["ind"] = ind
|
data["ind"] = ind
|
||||||
profile._sql_save(execute, data)
|
profile._db_save(execute, data)
|
||||||
ind += 1
|
ind += 1
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ class Data(SQLSubModel):
|
||||||
self._update_from_discharge()
|
self._update_from_discharge()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE initial_conditions(
|
CREATE TABLE initial_conditions(
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
|
@ -70,11 +70,11 @@ class Data(SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
id = data["reach"].id
|
id = data["reach"].id
|
||||||
table = execute(
|
table = execute(
|
||||||
"SELECT ind, name, comment, kp, discharge, height " +
|
"SELECT ind, name, comment, kp, discharge, height " +
|
||||||
|
|
@ -109,7 +109,7 @@ class Data(SQLSubModel):
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
ind = data["ind"]
|
ind = data["ind"]
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
|
|
@ -117,8 +117,8 @@ class Data(SQLSubModel):
|
||||||
"initial_conditions(ind, name, comment, kp, " +
|
"initial_conditions(ind, name, comment, kp, " +
|
||||||
"discharge, height, reach) " +
|
"discharge, height, reach) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{ind}, '{self._sql_format(self.name)}', " +
|
f"{ind}, '{self._db_format(self.name)}', " +
|
||||||
f"'{self._sql_format(self._comment)}', " +
|
f"'{self._db_format(self._comment)}', " +
|
||||||
f"{self._kp}, {self._discharge}, {self._height}, " +
|
f"{self._kp}, {self._discharge}, {self._height}, " +
|
||||||
f"{self._reach.id}" +
|
f"{self._reach.id}" +
|
||||||
")"
|
")"
|
||||||
|
|
@ -226,21 +226,21 @@ class InitialConditions(SQLSubModel):
|
||||||
self._data = []
|
self._data = []
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(
|
new = cls(
|
||||||
reach=data["reach"],
|
reach=data["reach"],
|
||||||
status=data["status"]
|
status=data["status"]
|
||||||
)
|
)
|
||||||
|
|
||||||
new._data = Data._sql_load(
|
new._data = Data._db_load(
|
||||||
execute,
|
execute,
|
||||||
data=data
|
data=data
|
||||||
)
|
)
|
||||||
|
|
@ -248,13 +248,13 @@ class InitialConditions(SQLSubModel):
|
||||||
if new._data is not None:
|
if new._data is not None:
|
||||||
yield new
|
yield new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
ok = True
|
ok = True
|
||||||
|
|
||||||
ind = 0
|
ind = 0
|
||||||
for d in self._data:
|
for d in self._data:
|
||||||
data["ind"] = ind
|
data["ind"] = ind
|
||||||
ok &= d._sql_save(execute, data)
|
ok &= d._db_save(execute, data)
|
||||||
ind += 1
|
ind += 1
|
||||||
|
|
||||||
return ok
|
return ok
|
||||||
|
|
|
||||||
|
|
@ -30,13 +30,13 @@ class InitialConditionsDict(PamhyrModelDict):
|
||||||
]
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(status=data["status"])
|
new = cls(status=data["status"])
|
||||||
|
|
||||||
for reach in data["edges"]:
|
for reach in data["edges"]:
|
||||||
data["reach"] = reach
|
data["reach"] = reach
|
||||||
|
|
||||||
ic = InitialConditions._sql_load(
|
ic = InitialConditions._db_load(
|
||||||
execute,
|
execute,
|
||||||
data=data
|
data=data
|
||||||
)
|
)
|
||||||
|
|
@ -46,7 +46,7 @@ class InitialConditionsDict(PamhyrModelDict):
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
ok = True
|
ok = True
|
||||||
if data is None:
|
if data is None:
|
||||||
data = {}
|
data = {}
|
||||||
|
|
@ -55,7 +55,7 @@ class InitialConditionsDict(PamhyrModelDict):
|
||||||
|
|
||||||
for reach in self._dict:
|
for reach in self._dict:
|
||||||
data["reach"] = reach
|
data["reach"] = reach
|
||||||
ok &= self._dict[reach]._sql_save(execute, data)
|
ok &= self._dict[reach]._db_save(execute, data)
|
||||||
|
|
||||||
return ok
|
return ok
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ class LateralContribution(SQLSubModel):
|
||||||
LateralContribution._id_cnt + 1, self.id)
|
LateralContribution._id_cnt + 1, self.id)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE lateral_contribution(
|
CREATE TABLE lateral_contribution(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -81,7 +81,7 @@ class LateralContribution(SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -100,7 +100,7 @@ class LateralContribution(SQLSubModel):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = []
|
new = []
|
||||||
tab = data["tab"]
|
tab = data["tab"]
|
||||||
|
|
||||||
|
|
@ -142,7 +142,7 @@ class LateralContribution(SQLSubModel):
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
tab = data["tab"]
|
tab = data["tab"]
|
||||||
|
|
||||||
execute(f"DELETE FROM lateral_contribution WHERE id = {self.id}")
|
execute(f"DELETE FROM lateral_contribution WHERE id = {self.id}")
|
||||||
|
|
@ -157,8 +157,8 @@ class LateralContribution(SQLSubModel):
|
||||||
"lateral_contribution(id, name, type, tab, " +
|
"lateral_contribution(id, name, type, tab, " +
|
||||||
"edge, begin_kp, end_kp) " +
|
"edge, begin_kp, end_kp) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, '{self._sql_format(self._name)}', " +
|
f"{self.id}, '{self._db_format(self._name)}', " +
|
||||||
f"'{self._sql_format(self._type)}', '{tab}', {edge}, " +
|
f"'{self._db_format(self._type)}', '{tab}', {edge}, " +
|
||||||
f"{self._begin_kp}, {self._end_kp}" +
|
f"{self._begin_kp}, {self._end_kp}" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
|
|
@ -166,8 +166,8 @@ class LateralContribution(SQLSubModel):
|
||||||
|
|
||||||
ind = 0
|
ind = 0
|
||||||
for d in self._data:
|
for d in self._data:
|
||||||
data0 = self._sql_format(str(d[0]))
|
data0 = self._db_format(str(d[0]))
|
||||||
data1 = self._sql_format(str(d[1]))
|
data1 = self._db_format(str(d[1]))
|
||||||
|
|
||||||
sql = (
|
sql = (
|
||||||
"INSERT INTO " +
|
"INSERT INTO " +
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ class LateralContributionList(PamhyrModelListWithTab):
|
||||||
]
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(status=data['status'])
|
new = cls(status=data['status'])
|
||||||
|
|
||||||
if data is None:
|
if data is None:
|
||||||
|
|
@ -43,13 +43,13 @@ class LateralContributionList(PamhyrModelListWithTab):
|
||||||
|
|
||||||
for tab in new._tabs:
|
for tab in new._tabs:
|
||||||
data["tab"] = tab
|
data["tab"] = tab
|
||||||
new._tabs[tab] = LateralContribution._sql_load(
|
new._tabs[tab] = LateralContribution._db_load(
|
||||||
execute, data
|
execute, data
|
||||||
)
|
)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
execute("DELETE FROM lateral_contribution")
|
execute("DELETE FROM lateral_contribution")
|
||||||
|
|
||||||
if data is None:
|
if data is None:
|
||||||
|
|
@ -58,7 +58,7 @@ class LateralContributionList(PamhyrModelListWithTab):
|
||||||
for tab in self._tabs:
|
for tab in self._tabs:
|
||||||
data["tab"] = tab
|
data["tab"] = tab
|
||||||
for lc in self._tabs[tab]:
|
for lc in self._tabs[tab]:
|
||||||
lc._sql_save(execute, data=data)
|
lc._db_save(execute, data=data)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ class RiverNode(Node, SQLSubModel):
|
||||||
self._locker = None
|
self._locker = None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE river_node(
|
CREATE TABLE river_node(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -69,11 +69,11 @@ class RiverNode(Node, SQLSubModel):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
nodes = []
|
nodes = []
|
||||||
|
|
||||||
table = execute("SELECT id, name, x, y FROM river_node")
|
table = execute("SELECT id, name, x, y FROM river_node")
|
||||||
|
|
@ -85,10 +85,10 @@ class RiverNode(Node, SQLSubModel):
|
||||||
|
|
||||||
return nodes
|
return nodes
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
sql = (
|
sql = (
|
||||||
"INSERT OR REPLACE INTO river_node(id, name, x, y) VALUES (" +
|
"INSERT OR REPLACE INTO river_node(id, name, x, y) VALUES (" +
|
||||||
f"{self.id}, '{self._sql_format(self.name)}', " +
|
f"{self.id}, '{self._db_format(self.name)}', " +
|
||||||
f"{self.x}, {self.y}" +
|
f"{self.x}, {self.y}" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
|
|
@ -125,7 +125,7 @@ class RiverReach(Edge, SQLSubModel):
|
||||||
self._frictions = FrictionList(status=self._status)
|
self._frictions = FrictionList(status=self._status)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE river_reach(
|
CREATE TABLE river_reach(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -142,11 +142,11 @@ class RiverReach(Edge, SQLSubModel):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
reachs = []
|
reachs = []
|
||||||
|
|
||||||
if data is None:
|
if data is None:
|
||||||
|
|
@ -170,21 +170,21 @@ class RiverReach(Edge, SQLSubModel):
|
||||||
|
|
||||||
data["reach"] = id
|
data["reach"] = id
|
||||||
data["parent"] = new
|
data["parent"] = new
|
||||||
new._reach = Reach._sql_load(execute, data)
|
new._reach = Reach._db_load(execute, data)
|
||||||
|
|
||||||
new._frictions = FrictionList._sql_load(execute, data)
|
new._frictions = FrictionList._db_load(execute, data)
|
||||||
|
|
||||||
reachs.append(new)
|
reachs.append(new)
|
||||||
|
|
||||||
return reachs
|
return reachs
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
sql = (
|
sql = (
|
||||||
"INSERT OR REPLACE INTO " +
|
"INSERT OR REPLACE INTO " +
|
||||||
"river_reach(id, name, enable, node1, node2) " +
|
"river_reach(id, name, enable, node1, node2) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, '{self._sql_format(self._name)}', " +
|
f"{self.id}, '{self._db_format(self._name)}', " +
|
||||||
f"{self._sql_format(self.is_enable())},"
|
f"{self._db_format(self.is_enable())},"
|
||||||
f"{self.node1.id}, {self.node2.id}" +
|
f"{self.node1.id}, {self.node2.id}" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
|
|
@ -236,73 +236,73 @@ class River(Graph, SQLSubModel):
|
||||||
self._sediment_layers = SedimentLayerList(status=self._status)
|
self._sediment_layers = SedimentLayerList(status=self._status)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
cls._create_submodel(execute)
|
cls._create_submodel(execute)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
cls._update_submodel(execute, version)
|
cls._update_submodel(execute, version)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(data["status"])
|
new = cls(data["status"])
|
||||||
|
|
||||||
# Stricklers (Stricklers is load in first because it's needed
|
# Stricklers (Stricklers is load in first because it's needed
|
||||||
# for reachs)
|
# for reachs)
|
||||||
new._stricklers = StricklersList._sql_load(
|
new._stricklers = StricklersList._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
data["stricklers"] = new._stricklers
|
data["stricklers"] = new._stricklers
|
||||||
|
|
||||||
# Initial conditions
|
# Initial conditions
|
||||||
new._sediment_layers = SedimentLayerList._sql_load(
|
new._sediment_layers = SedimentLayerList._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
data["sediment_layers_list"] = new._sediment_layers
|
data["sediment_layers_list"] = new._sediment_layers
|
||||||
|
|
||||||
# Network
|
# Network
|
||||||
new._nodes = RiverNode._sql_load(
|
new._nodes = RiverNode._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
data["nodes"] = new.nodes()
|
data["nodes"] = new.nodes()
|
||||||
|
|
||||||
new._edges = RiverReach._sql_load(
|
new._edges = RiverReach._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
data["edges"] = new.edges()
|
data["edges"] = new.edges()
|
||||||
|
|
||||||
# Boundary Condition
|
# Boundary Condition
|
||||||
new._boundary_condition = BoundaryConditionList._sql_load(
|
new._boundary_condition = BoundaryConditionList._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
# Lateral Contribution
|
# Lateral Contribution
|
||||||
new._lateral_contribution = LateralContributionList._sql_load(
|
new._lateral_contribution = LateralContributionList._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
|
|
||||||
# Initial conditions
|
# Initial conditions
|
||||||
new._initial_conditions = InitialConditionsDict._sql_load(
|
new._initial_conditions = InitialConditionsDict._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
|
|
||||||
# Parameters
|
# Parameters
|
||||||
new._parameters = SolverParametersList._sql_load(
|
new._parameters = SolverParametersList._db_load(
|
||||||
execute,
|
execute,
|
||||||
data
|
data
|
||||||
)
|
)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
objs = (self._nodes + self._edges)
|
objs = (self._nodes + self._edges)
|
||||||
objs.append(self._boundary_condition)
|
objs.append(self._boundary_condition)
|
||||||
objs.append(self._initial_conditions)
|
objs.append(self._initial_conditions)
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ class Layer(SQLSubModel):
|
||||||
self._critical_constraint = float(critical_constraint)
|
self._critical_constraint = float(critical_constraint)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE sedimentary_layer_layer(
|
CREATE TABLE sedimentary_layer_layer(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -103,16 +103,16 @@ class Layer(SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
if major == minor == "0":
|
if major == minor == "0":
|
||||||
if int(release) < 2:
|
if int(release) < 2:
|
||||||
cls._sql_create(execute)
|
cls._db_create(execute)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = []
|
new = []
|
||||||
sl = data["sl"]
|
sl = data["sl"]
|
||||||
|
|
||||||
|
|
@ -141,7 +141,7 @@ class Layer(SQLSubModel):
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
ind = data["ind"]
|
ind = data["ind"]
|
||||||
sl = data["sl"]
|
sl = data["sl"]
|
||||||
|
|
||||||
|
|
@ -150,8 +150,8 @@ class Layer(SQLSubModel):
|
||||||
"sedimentary_layer_layer(id, ind, name, type, height, " +
|
"sedimentary_layer_layer(id, ind, name, type, height, " +
|
||||||
"d50, sigma, critical_constraint, sl) " +
|
"d50, sigma, critical_constraint, sl) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, {ind}, '{self._sql_format(self._name)}', " +
|
f"{self.id}, {ind}, '{self._db_format(self._name)}', " +
|
||||||
f"'{self._sql_format(self._type)}', {self._height}, " +
|
f"'{self._db_format(self._type)}', {self._height}, " +
|
||||||
f"{self._d50}, {self._sigma}, {self._critical_constraint}, " +
|
f"{self._d50}, {self._sigma}, {self._critical_constraint}, " +
|
||||||
f"{sl.id}" +
|
f"{sl.id}" +
|
||||||
")"
|
")"
|
||||||
|
|
@ -224,7 +224,7 @@ class SedimentLayer(SQLSubModel):
|
||||||
self._comment = comment
|
self._comment = comment
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE sedimentary_layer(
|
CREATE TABLE sedimentary_layer(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -236,16 +236,16 @@ class SedimentLayer(SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
if major == minor == "0":
|
if major == minor == "0":
|
||||||
if int(release) < 2:
|
if int(release) < 2:
|
||||||
cls._sql_create(execute)
|
cls._db_create(execute)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = []
|
new = []
|
||||||
|
|
||||||
table = execute(
|
table = execute(
|
||||||
|
|
@ -262,20 +262,20 @@ class SedimentLayer(SQLSubModel):
|
||||||
)
|
)
|
||||||
|
|
||||||
data["sl"] = sl.id
|
data["sl"] = sl.id
|
||||||
sl._layers = Layer._sql_load(execute, data)
|
sl._layers = Layer._db_load(execute, data)
|
||||||
|
|
||||||
new.append(sl)
|
new.append(sl)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
if data is None:
|
if data is None:
|
||||||
data = {}
|
data = {}
|
||||||
|
|
||||||
sql = (
|
sql = (
|
||||||
"INSERT INTO sedimentary_layer (id, name, comment) " +
|
"INSERT INTO sedimentary_layer (id, name, comment) " +
|
||||||
f"VALUES ({self.id}, '{self._sql_format(self._name)}', " +
|
f"VALUES ({self.id}, '{self._db_format(self._name)}', " +
|
||||||
f"'{self._sql_format(self._comment)}')"
|
f"'{self._db_format(self._comment)}')"
|
||||||
)
|
)
|
||||||
execute(sql)
|
execute(sql)
|
||||||
|
|
||||||
|
|
@ -284,7 +284,7 @@ class SedimentLayer(SQLSubModel):
|
||||||
ind = 0
|
ind = 0
|
||||||
for layer in self._layers:
|
for layer in self._layers:
|
||||||
data["ind"] = ind
|
data["ind"] = ind
|
||||||
layer._sql_save(execute, data)
|
layer._db_save(execute, data)
|
||||||
ind += 1
|
ind += 1
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
|
||||||
|
|
@ -11,14 +11,14 @@ class SedimentLayerList(PamhyrModelList):
|
||||||
_sub_classes = [SedimentLayer]
|
_sub_classes = [SedimentLayer]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(status=data["status"])
|
new = cls(status=data["status"])
|
||||||
|
|
||||||
new._lst = SedimentLayer._sql_load(execute, data)
|
new._lst = SedimentLayer._db_load(execute, data)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
ok = True
|
ok = True
|
||||||
|
|
||||||
# Delete previous data
|
# Delete previous data
|
||||||
|
|
@ -26,7 +26,7 @@ class SedimentLayerList(PamhyrModelList):
|
||||||
execute("DELETE FROM sedimentary_layer_layer")
|
execute("DELETE FROM sedimentary_layer_layer")
|
||||||
|
|
||||||
for sl in self._lst:
|
for sl in self._lst:
|
||||||
ok &= sl._sql_save(execute, data)
|
ok &= sl._db_save(execute, data)
|
||||||
|
|
||||||
return ok
|
return ok
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ class SolverParametersList(PamhyrModelList):
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE solver_parameter(
|
CREATE TABLE solver_parameter(
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
|
@ -93,7 +93,7 @@ class SolverParametersList(PamhyrModelList):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
|
|
||||||
if major == minor == "0":
|
if major == minor == "0":
|
||||||
|
|
@ -130,9 +130,9 @@ class SolverParametersList(PamhyrModelList):
|
||||||
"solver_parameter(ind, name, value, solver) " +
|
"solver_parameter(ind, name, value, solver) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{ind}, " +
|
f"{ind}, " +
|
||||||
f"'{cls._sql_format(name)}', " +
|
f"'{cls._db_format(name)}', " +
|
||||||
f"'{cls._sql_format(value)}', " +
|
f"'{cls._db_format(value)}', " +
|
||||||
f"'{cls._sql_format(solver)}'" +
|
f"'{cls._db_format(solver)}'" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -164,7 +164,7 @@ class SolverParametersList(PamhyrModelList):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
status = data["status"]
|
status = data["status"]
|
||||||
solvers = execute("SELECT DISTINCT solver FROM solver_parameter")
|
solvers = execute("SELECT DISTINCT solver FROM solver_parameter")
|
||||||
new = {}
|
new = {}
|
||||||
|
|
@ -194,7 +194,7 @@ class SolverParametersList(PamhyrModelList):
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
t = self._solver._type
|
t = self._solver._type
|
||||||
execute(
|
execute(
|
||||||
"DELETE FROM solver_parameter " +
|
"DELETE FROM solver_parameter " +
|
||||||
|
|
@ -208,9 +208,9 @@ class SolverParametersList(PamhyrModelList):
|
||||||
"solver_parameter(ind, name, value, solver) " +
|
"solver_parameter(ind, name, value, solver) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{ind}, " +
|
f"{ind}, " +
|
||||||
f"'{self._sql_format(param.name)}', " +
|
f"'{self._db_format(param.name)}', " +
|
||||||
f"'{self._sql_format(param.value)}', " +
|
f"'{self._db_format(param.value)}', " +
|
||||||
f"'{self._sql_format(t)}'" +
|
f"'{self._db_format(t)}'" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
execute(sql)
|
execute(sql)
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ class Stricklers(SQLSubModel):
|
||||||
self._medium = medium
|
self._medium = medium
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
execute("""
|
execute("""
|
||||||
CREATE TABLE stricklers(
|
CREATE TABLE stricklers(
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
|
|
@ -62,11 +62,11 @@ class Stricklers(SQLSubModel):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
stricklers = []
|
stricklers = []
|
||||||
status = data["status"]
|
status = data["status"]
|
||||||
|
|
||||||
|
|
@ -97,14 +97,14 @@ class Stricklers(SQLSubModel):
|
||||||
|
|
||||||
return stricklers
|
return stricklers
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
sql = (
|
sql = (
|
||||||
"INSERT INTO " +
|
"INSERT INTO " +
|
||||||
"stricklers(id, name, comment, minor, medium) " +
|
"stricklers(id, name, comment, minor, medium) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, " +
|
f"{self.id}, " +
|
||||||
f"'{self._sql_format(self.name)}', " +
|
f"'{self._db_format(self.name)}', " +
|
||||||
f"'{self._sql_format(self.comment)}', " +
|
f"'{self._db_format(self.comment)}', " +
|
||||||
f"{float(self.minor)}, {float(self.medium)}" +
|
f"{float(self.minor)}, {float(self.medium)}" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -29,25 +29,25 @@ class StricklersList(PamhyrModelList):
|
||||||
]
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = cls(status=data["status"])
|
new = cls(status=data["status"])
|
||||||
|
|
||||||
new._lst = Stricklers._sql_load(
|
new._lst = Stricklers._db_load(
|
||||||
execute,
|
execute,
|
||||||
data=data
|
data=data
|
||||||
)
|
)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
execute("DELETE FROM stricklers")
|
execute("DELETE FROM stricklers")
|
||||||
|
|
||||||
objs = self._lst
|
objs = self._lst
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ class Study(SQLModel):
|
||||||
"CREATE TABLE info(key TEXT NOT NULL UNIQUE, value TEXT NOT NULL)")
|
"CREATE TABLE info(key TEXT NOT NULL UNIQUE, value TEXT NOT NULL)")
|
||||||
self.execute(
|
self.execute(
|
||||||
"INSERT INTO info VALUES ('version', " +
|
"INSERT INTO info VALUES ('version', " +
|
||||||
f"'{self._sql_format(self._version)}')",
|
f"'{self._db_format(self._version)}')",
|
||||||
commit=True
|
commit=True
|
||||||
)
|
)
|
||||||
self.execute("INSERT INTO info VALUES ('name', '')")
|
self.execute("INSERT INTO info VALUES ('name', '')")
|
||||||
|
|
@ -248,7 +248,7 @@ class Study(SQLModel):
|
||||||
)
|
)
|
||||||
|
|
||||||
# Load river data
|
# Load river data
|
||||||
new._river = River._sql_load(
|
new._river = River._db_load(
|
||||||
lambda sql: new.execute(
|
lambda sql: new.execute(
|
||||||
sql,
|
sql,
|
||||||
fetch_one=False,
|
fetch_one=False,
|
||||||
|
|
@ -262,11 +262,11 @@ class Study(SQLModel):
|
||||||
def _save(self):
|
def _save(self):
|
||||||
self.execute(
|
self.execute(
|
||||||
f"UPDATE info SET " +
|
f"UPDATE info SET " +
|
||||||
f"value='{self._sql_format(self.name)}' WHERE key='name'"
|
f"value='{self._db_format(self.name)}' WHERE key='name'"
|
||||||
)
|
)
|
||||||
self.execute(
|
self.execute(
|
||||||
f"UPDATE info SET " +
|
f"UPDATE info SET " +
|
||||||
f"value='{self._sql_format(self.description)}' " +
|
f"value='{self._db_format(self.description)}' " +
|
||||||
"WHERE key='description'"
|
"WHERE key='description'"
|
||||||
)
|
)
|
||||||
self.execute(
|
self.execute(
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ class SQLModel(SQL):
|
||||||
)
|
)
|
||||||
|
|
||||||
for cls in self._sub_classes:
|
for cls in self._sub_classes:
|
||||||
requests = cls._sql_create(fn)
|
requests = cls._db_create(fn)
|
||||||
|
|
||||||
self.commit()
|
self.commit()
|
||||||
return True
|
return True
|
||||||
|
|
@ -78,7 +78,7 @@ class SQLModel(SQL):
|
||||||
|
|
||||||
ok = True
|
ok = True
|
||||||
for cls in self._sub_classes:
|
for cls in self._sub_classes:
|
||||||
ok &= cls._sql_update(fn, version)
|
ok &= cls._db_update(fn, version)
|
||||||
|
|
||||||
self.commit()
|
self.commit()
|
||||||
return ok
|
return ok
|
||||||
|
|
@ -95,7 +95,7 @@ class SQLModel(SQL):
|
||||||
|
|
||||||
ok = True
|
ok = True
|
||||||
for obj in objs:
|
for obj in objs:
|
||||||
ok &= obj._sql_save(fn)
|
ok &= obj._db_save(fn)
|
||||||
|
|
||||||
self.commit()
|
self.commit()
|
||||||
return ok
|
return ok
|
||||||
|
|
@ -113,7 +113,7 @@ class SQLModel(SQL):
|
||||||
class SQLSubModel(object):
|
class SQLSubModel(object):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
||||||
def _sql_format(self, value):
|
def _db_format(self, value):
|
||||||
# Replace ''' by ''' to preserve SQL injection
|
# Replace ''' by ''' to preserve SQL injection
|
||||||
if value is str:
|
if value is str:
|
||||||
value = value.replace("'", "'")
|
value = value.replace("'", "'")
|
||||||
|
|
@ -124,10 +124,10 @@ class SQLSubModel(object):
|
||||||
@classmethod
|
@classmethod
|
||||||
def _create_submodel(cls, execute):
|
def _create_submodel(cls, execute):
|
||||||
for sc in cls._sub_classes:
|
for sc in cls._sub_classes:
|
||||||
sc._sql_create(execute)
|
sc._db_create(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
"""Create data base scheme
|
"""Create data base scheme
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
|
@ -136,15 +136,15 @@ class SQLSubModel(object):
|
||||||
Returns:
|
Returns:
|
||||||
Return true, otherelse false if an issue appear
|
Return true, otherelse false if an issue appear
|
||||||
"""
|
"""
|
||||||
raise NotImplementedMethodeError(cls, cls._sql_create)
|
raise NotImplementedMethodeError(cls, cls._db_create)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _update_submodel(cls, execute, version):
|
def _update_submodel(cls, execute, version):
|
||||||
for sc in cls._sub_classes:
|
for sc in cls._sub_classes:
|
||||||
sc._sql_update(execute, version)
|
sc._db_update(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
"""Update data base scheme
|
"""Update data base scheme
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
|
@ -154,10 +154,10 @@ class SQLSubModel(object):
|
||||||
Returns:
|
Returns:
|
||||||
Return true, otherelse false if an issue appear
|
Return true, otherelse false if an issue appear
|
||||||
"""
|
"""
|
||||||
raise NotImplementedMethodeError(cls, cls._sql_update)
|
raise NotImplementedMethodeError(cls, cls._db_update)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
"""Load instance of this class from SQL data base
|
"""Load instance of this class from SQL data base
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
|
@ -167,13 +167,13 @@ class SQLSubModel(object):
|
||||||
Returns:
|
Returns:
|
||||||
Return new instance of class
|
Return new instance of class
|
||||||
"""
|
"""
|
||||||
raise NotImplementedMethodeError(cls, cls._sql_load)
|
raise NotImplementedMethodeError(cls, cls._db_load)
|
||||||
|
|
||||||
def _save_submodel(self, execute, objs, data=None):
|
def _save_submodel(self, execute, objs, data=None):
|
||||||
for o in objs:
|
for o in objs:
|
||||||
o._sql_save(execute, data=data)
|
o._db_save(execute, data=data)
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
"""Save class data to data base
|
"""Save class data to data base
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
|
@ -184,4 +184,4 @@ class SQLSubModel(object):
|
||||||
Return true, otherelse false if an issue appear during
|
Return true, otherelse false if an issue appear during
|
||||||
save
|
save
|
||||||
"""
|
"""
|
||||||
raise NotImplementedMethodeError(self, self._sql_save)
|
raise NotImplementedMethodeError(self, self._db_save)
|
||||||
|
|
|
||||||
|
|
@ -38,19 +38,19 @@ class PamhyrModelDict(SQLSubModel):
|
||||||
self._dict = {}
|
self._dict = {}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
raise NotImplementedMethodeError(cls, cls._sql_load)
|
raise NotImplementedMethodeError(cls, cls._db_load)
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
raise NotImplementedMethodeError(self, self._sql_save)
|
raise NotImplementedMethodeError(self, self._db_save)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self._dict)
|
return len(self._dict)
|
||||||
|
|
|
||||||
|
|
@ -42,19 +42,19 @@ class PamhyrModelList(SQLSubModel):
|
||||||
#######
|
#######
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
raise NotImplementedMethodeError(cls, cls._sql_load)
|
raise NotImplementedMethodeError(cls, cls._db_load)
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
raise NotImplementedMethodeError(self, self._sql_save)
|
raise NotImplementedMethodeError(self, self._db_save)
|
||||||
|
|
||||||
################
|
################
|
||||||
# MODEL METHOD #
|
# MODEL METHOD #
|
||||||
|
|
@ -156,19 +156,19 @@ class PamhyrModelListWithTab(SQLSubModel):
|
||||||
#######
|
#######
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_create(cls, execute):
|
def _db_create(cls, execute):
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_update(cls, execute, version):
|
def _db_update(cls, execute, version):
|
||||||
return cls._update_submodel(execute, version)
|
return cls._update_submodel(execute, version)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _sql_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
raise NotImplementedMethodeError(cls, cls._sql_load)
|
raise NotImplementedMethodeError(cls, cls._db_load)
|
||||||
|
|
||||||
def _sql_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
raise NotImplementedMethodeError(self, self._sql_save)
|
raise NotImplementedMethodeError(self, self._db_save)
|
||||||
|
|
||||||
################
|
################
|
||||||
# MODEL METHOD #
|
# MODEL METHOD #
|
||||||
|
|
|
||||||
|
|
@ -209,14 +209,14 @@ class Config(SQL):
|
||||||
self.execute(f"""
|
self.execute(f"""
|
||||||
INSERT INTO solver VALUES (
|
INSERT INTO solver VALUES (
|
||||||
'{solver._type}',
|
'{solver._type}',
|
||||||
'{self._sql_format(solver._name)}',
|
'{self._db_format(solver._name)}',
|
||||||
'{self._sql_format(solver._description)}',
|
'{self._db_format(solver._description)}',
|
||||||
'{self._sql_format(solver._path_input)}',
|
'{self._db_format(solver._path_input)}',
|
||||||
'{self._sql_format(solver._path_solver)}',
|
'{self._db_format(solver._path_solver)}',
|
||||||
'{self._sql_format(solver._path_output)}',
|
'{self._db_format(solver._path_output)}',
|
||||||
'{self._sql_format(solver._cmd_input)}',
|
'{self._db_format(solver._cmd_input)}',
|
||||||
'{self._sql_format(solver._cmd_solver)}',
|
'{self._db_format(solver._cmd_solver)}',
|
||||||
'{self._sql_format(solver._cmd_output)}'
|
'{self._db_format(solver._cmd_output)}'
|
||||||
)
|
)
|
||||||
""",
|
""",
|
||||||
commit=True)
|
commit=True)
|
||||||
|
|
@ -227,8 +227,8 @@ class Config(SQL):
|
||||||
for stricklers in self.stricklers.stricklers:
|
for stricklers in self.stricklers.stricklers:
|
||||||
self.execute(f"""
|
self.execute(f"""
|
||||||
INSERT INTO stricklers VALUES (
|
INSERT INTO stricklers VALUES (
|
||||||
'{self._sql_format(stricklers._name)}',
|
'{self._db_format(stricklers._name)}',
|
||||||
'{self._sql_format(stricklers._comment)}',
|
'{self._db_format(stricklers._comment)}',
|
||||||
'{stricklers._minor}',
|
'{stricklers._minor}',
|
||||||
'{stricklers._medium}'
|
'{stricklers._medium}'
|
||||||
)
|
)
|
||||||
|
|
@ -255,11 +255,11 @@ class Config(SQL):
|
||||||
for key in data:
|
for key in data:
|
||||||
self.execute(
|
self.execute(
|
||||||
f"INSERT OR IGNORE INTO data VALUES " +
|
f"INSERT OR IGNORE INTO data VALUES " +
|
||||||
f" ('{key}', '{self._sql_format(data[key])}')"
|
f" ('{key}', '{self._db_format(data[key])}')"
|
||||||
)
|
)
|
||||||
self.execute(
|
self.execute(
|
||||||
f"UPDATE data SET " +
|
f"UPDATE data SET " +
|
||||||
f"value='{self._sql_format(data[key])}' " +
|
f"value='{self._db_format(data[key])}' " +
|
||||||
f"WHERE key='{key}'"
|
f"WHERE key='{key}'"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -320,7 +320,7 @@ class Config(SQL):
|
||||||
self.close_correctly = False
|
self.close_correctly = False
|
||||||
self.execute(
|
self.execute(
|
||||||
"UPDATE data SET " +
|
"UPDATE data SET " +
|
||||||
f"value='{self._sql_format(self.last_study)}' " +
|
f"value='{self._db_format(self.last_study)}' " +
|
||||||
"WHERE key='last_study'"
|
"WHERE key='last_study'"
|
||||||
)
|
)
|
||||||
self.execute(
|
self.execute(
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ class SQL(object):
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def _sql_format(self, value):
|
def _db_format(self, value):
|
||||||
# Replace ''' by ''' to preserve SQL injection
|
# Replace ''' by ''' to preserve SQL injection
|
||||||
if value is str:
|
if value is str:
|
||||||
value = value.replace("'", "'")
|
value = value.replace("'", "'")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue