mirror of https://gitlab.com/pamhyr/pamhyr2
Pamhyr: Some fixe for db update to 0.1.1.
parent
770ecdfa99
commit
7274ff5e2d
|
|
@ -87,6 +87,7 @@ class BasicHS(SQLSubModel):
|
|||
hs = data['id2pid']['hydraulic_structures']
|
||||
|
||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||
cls._db_update_to_0_1_0_set_hs_pid(execute, table, hs)
|
||||
Scenario.update_db_add_scenario(execute, table)
|
||||
|
||||
cls._db_create(execute, ext="_tmp")
|
||||
|
|
@ -101,8 +102,6 @@ class BasicHS(SQLSubModel):
|
|||
execute(f"DROP TABLE {table}")
|
||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||
|
||||
cls._db_update_to_0_1_0_set_hs_pid(execute, table, hs)
|
||||
|
||||
@classmethod
|
||||
def _db_update_to_0_1_0_set_hs_pid(cls, execute, table, hs):
|
||||
els = execute(
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ class BHSValue(SQLSubModel):
|
|||
bhs = data['id2pid']['hydraulic_structures_basic']
|
||||
|
||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||
cls._db_update_to_0_1_0_set_bhs_pid(execute, table, bhs)
|
||||
Scenario.update_db_add_scenario(execute, table)
|
||||
|
||||
cls._db_create(execute, ext="_tmp")
|
||||
|
|
@ -85,8 +86,6 @@ class BHSValue(SQLSubModel):
|
|||
execute(f"DROP TABLE {table}")
|
||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||
|
||||
cls._db_update_to_0_1_0_set_bhs_pid(execute, table, bhs)
|
||||
|
||||
@classmethod
|
||||
def _db_update_to_0_1_0_set_bhs_pid(cls, execute, table, bhs):
|
||||
els = execute(
|
||||
|
|
|
|||
|
|
@ -113,11 +113,12 @@ class HydraulicStructure(SQLSubModel):
|
|||
table = "hydraulic_structures"
|
||||
reachs = data['id2pid']['river_reach']
|
||||
|
||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
||||
cls._db_update_to_0_1_1(
|
||||
execute, data,
|
||||
origin_version="0.0.*"
|
||||
)
|
||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||
Scenario.update_db_add_scenario(execute, table)
|
||||
|
||||
cls._db_create(execute, ext="_tmp")
|
||||
|
|
@ -135,8 +136,6 @@ class HydraulicStructure(SQLSubModel):
|
|||
execute(f"DROP TABLE {table}")
|
||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||
|
||||
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
||||
|
||||
@classmethod
|
||||
def _db_update_to_0_1_0_set_reach_pid(cls, execute, table, reachs):
|
||||
els = execute(
|
||||
|
|
|
|||
|
|
@ -100,11 +100,12 @@ class Data(SQLSubModel):
|
|||
table = "initial_conditions"
|
||||
reachs = data['id2pid']['river_reach']
|
||||
|
||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
||||
cls._db_update_to_0_1_1(
|
||||
execute, data,
|
||||
origin_version="0.0.*"
|
||||
)
|
||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||
Scenario.update_db_add_scenario(execute, table)
|
||||
|
||||
cls._db_create(execute, ext="_tmp")
|
||||
|
|
@ -121,8 +122,6 @@ class Data(SQLSubModel):
|
|||
execute(f"DROP TABLE {table}")
|
||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||
|
||||
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
||||
|
||||
@classmethod
|
||||
def _db_update_to_0_1_1(cls, execute, data,
|
||||
origin_version="0.1.0"):
|
||||
|
|
@ -149,6 +148,7 @@ class Data(SQLSubModel):
|
|||
)
|
||||
|
||||
new = []
|
||||
ok = True
|
||||
|
||||
for row in table:
|
||||
it = iter(row)
|
||||
|
|
@ -169,6 +169,14 @@ class Data(SQLSubModel):
|
|||
None
|
||||
)
|
||||
|
||||
if section is None:
|
||||
logger.debug(
|
||||
f"Section ID {section_id} do not exist in reach " +
|
||||
f"{reach.name} ({reach.pamhyr_id})"
|
||||
)
|
||||
ok = False
|
||||
continue
|
||||
|
||||
d = cls(
|
||||
id=pid,
|
||||
reach=data["reach"],
|
||||
|
|
@ -182,6 +190,12 @@ class Data(SQLSubModel):
|
|||
|
||||
new.append(d)
|
||||
|
||||
if not ok:
|
||||
logger.info(
|
||||
"Please regenerate/defined the inital conditions " +
|
||||
f"for reach {reach.name} ({reach.pamhyr_id})"
|
||||
)
|
||||
|
||||
return new
|
||||
|
||||
def _db_save(self, execute, data=None):
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class Data(SQLSubModel):
|
|||
major, minor, release = version.strip().split(".")
|
||||
|
||||
if major == minor == "0":
|
||||
if 5 < int(release):
|
||||
if int(release) > 5:
|
||||
cls._db_update_to_0_1_0(execute, data)
|
||||
|
||||
return cls._update_submodel(execute, version, data)
|
||||
|
|
@ -77,7 +77,7 @@ class Data(SQLSubModel):
|
|||
|
||||
cls._db_create(execute, ext="_tmp")
|
||||
execute(
|
||||
f"INSERT INTO {table} " +
|
||||
f"INSERT INTO {table}_tmp " +
|
||||
"(pamhyr_id, ind, elevation, surface, reservoir, scenario) " +
|
||||
"SELECT pamhyr_id, ind, elevation, surface, reservoir, scenario " +
|
||||
f"FROM {table}"
|
||||
|
|
@ -143,7 +143,7 @@ class Data(SQLSubModel):
|
|||
ind = data["ind"]
|
||||
elevation = self._db_format(str(self[0]))
|
||||
surface = self._db_format(str(self[1]))
|
||||
bc = data["bc"]
|
||||
reservoir = data["reservoir"]
|
||||
|
||||
execute(
|
||||
"INSERT INTO " +
|
||||
|
|
@ -202,8 +202,8 @@ class Reservoir(SQLSubModel):
|
|||
if int(release) < 5:
|
||||
cls._db_create(execute)
|
||||
return True
|
||||
else:
|
||||
cls._db_update_to_0_1_0(execute, data)
|
||||
|
||||
cls._db_update_to_0_1_0(execute, data)
|
||||
|
||||
return cls._update_submodel(execute, version, data)
|
||||
|
||||
|
|
@ -212,15 +212,15 @@ class Reservoir(SQLSubModel):
|
|||
table = "reservoir"
|
||||
nodes = data['id2pid']['river_node']
|
||||
|
||||
cls.update_db_add_pamhyr_id(
|
||||
execute, table,
|
||||
data=data
|
||||
)
|
||||
cls.update_db_add_pamhyr_id(execute, table, data=data)
|
||||
cls._db_update_to_0_1_0_set_node_pid(execute, table, nodes)
|
||||
Scenario.update_db_add_scenario(execute, table)
|
||||
|
||||
print(execute(f"SELECT * FROM {table}"))
|
||||
|
||||
cls._db_create(execute, ext="_tmp")
|
||||
execute(
|
||||
f"INSERT INTO {table} " +
|
||||
f"INSERT INTO {table}_tmp " +
|
||||
"(pamhyr_id, name, node, scenario) " +
|
||||
"SELECT pamhyr_id, name, node, scenario " +
|
||||
f"FROM {table}"
|
||||
|
|
@ -229,8 +229,6 @@ class Reservoir(SQLSubModel):
|
|||
execute(f"DROP TABLE {table}")
|
||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||
|
||||
cls._db_update_to_0_1_0_set_node_pid(execute, table, nodes)
|
||||
|
||||
@classmethod
|
||||
def _db_load(cls, execute, data=None):
|
||||
new = []
|
||||
|
|
@ -290,6 +288,8 @@ class Reservoir(SQLSubModel):
|
|||
)
|
||||
execute(sql)
|
||||
|
||||
data["reservoir"] = self
|
||||
|
||||
ind = 0
|
||||
for d in self._data:
|
||||
data["ind"] = ind
|
||||
|
|
@ -387,7 +387,7 @@ class Reservoir(SQLSubModel):
|
|||
|
||||
def sort(self, _reverse=False, key=None):
|
||||
if key is None:
|
||||
self._data.sort(reverse=_reverse)
|
||||
self._data.sort(reverse=_reverse, key=lambda d: d[0])
|
||||
else:
|
||||
self._data.sort(reverse=_reverse, key=key)
|
||||
self._status.modified()
|
||||
|
|
|
|||
|
|
@ -478,7 +478,10 @@ class Mage(CommandLineSolver):
|
|||
IS = f"{id_sec}"
|
||||
discharge = f"{d['discharge']:>10.5f}"
|
||||
elevation = f"{d['elevation']:>11.6f}"
|
||||
rk = f"{d['rk']:>9.2f}"
|
||||
section = d['rk']
|
||||
if section is None:
|
||||
continue
|
||||
rk = f"{section.rk:>9.2f}"
|
||||
|
||||
f.write(f"{IR} {IS} {discharge} {elevation} {rk}\n")
|
||||
id_sec += 1
|
||||
|
|
|
|||
|
|
@ -111,14 +111,18 @@ class InitialConditionTableModel(PamhyrTableModel):
|
|||
row = index.row()
|
||||
column = index.column()
|
||||
|
||||
if self._headers[column] is "rk":
|
||||
v = self._lst.get(row)[self._headers[column]]
|
||||
return v.display_name()
|
||||
elif self._headers[column] is "speed":
|
||||
if self._headers[column] == "rk":
|
||||
val = self._lst.get(row)
|
||||
section = val[self._headers[column]]
|
||||
if section is None:
|
||||
return ""
|
||||
|
||||
return section.display_name()
|
||||
elif self._headers[column] == "speed":
|
||||
z = self._lst.get(row)["elevation"]
|
||||
q = self._lst.get(row)["discharge"]
|
||||
profile = self._lst.get(row)["rk"]
|
||||
if len(profile) >= 1:
|
||||
if profile is not None:
|
||||
speed = profile.speed(q, z)
|
||||
return f"{speed:.4f}"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue