mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
10 Commits
5ce94a63d3
...
2c0b155baf
| Author | SHA1 | Date |
|---|---|---|
|
|
2c0b155baf | |
|
|
4d20c2457a | |
|
|
2dd9003721 | |
|
|
94ceb44fd4 | |
|
|
ab50d2adf4 | |
|
|
0eb979256f | |
|
|
ccf3da114b | |
|
|
348417977d | |
|
|
cbbbeeac0b | |
|
|
c9ea726bfb |
|
|
@ -274,6 +274,9 @@ class HydraulicStructure(SQLSubModel):
|
||||||
return hs
|
return hs
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
|
if not self.must_be_saved():
|
||||||
|
return True
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
"DELETE FROM hydraulic_structures " +
|
"DELETE FROM hydraulic_structures " +
|
||||||
f"WHERE pamhyr_id = {self.pamhyr_id} " +
|
f"WHERE pamhyr_id = {self.pamhyr_id} " +
|
||||||
|
|
|
||||||
|
|
@ -225,6 +225,8 @@ class Data(SQLSubModel):
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
|
if not self.must_be_saved():
|
||||||
|
return True
|
||||||
ind = data["ind"]
|
ind = data["ind"]
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
|
|
@ -396,7 +398,7 @@ class InitialConditions(SQLSubModel):
|
||||||
|
|
||||||
@reach.setter
|
@reach.setter
|
||||||
def reach(self, new):
|
def reach(self, new):
|
||||||
self._reach = reach
|
self._reach = new
|
||||||
self.modified()
|
self.modified()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
|
||||||
|
|
@ -147,9 +147,9 @@ class Data(SQLSubModel):
|
||||||
it = iter(v)
|
it = iter(v)
|
||||||
|
|
||||||
pid = next(it)
|
pid = next(it)
|
||||||
delete = next(it)
|
deleted = next(it)
|
||||||
data0 = bc._types[0](next(it))
|
data0 = lc._types[0](next(it))
|
||||||
data1 = bc._types[1](next(it))
|
data1 = lc._types[1](next(it))
|
||||||
owner_scenario = next(it)
|
owner_scenario = next(it)
|
||||||
|
|
||||||
nd = cls(
|
nd = cls(
|
||||||
|
|
|
||||||
|
|
@ -402,7 +402,7 @@ class Pollutants(SQLSubModel):
|
||||||
return new
|
return new
|
||||||
|
|
||||||
table = execute(
|
table = execute(
|
||||||
"SELECT pamhyr_id, deleted, name FROM pollutants " +
|
"SELECT pamhyr_id, deleted, name, scenario FROM pollutants " +
|
||||||
f"WHERE scenario = {scenario.id} " +
|
f"WHERE scenario = {scenario.id} " +
|
||||||
f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))})"
|
f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))})"
|
||||||
)
|
)
|
||||||
|
|
@ -414,10 +414,12 @@ class Pollutants(SQLSubModel):
|
||||||
pid = next(it)
|
pid = next(it)
|
||||||
deleted = (next(it) == 1)
|
deleted = (next(it) == 1)
|
||||||
name = next(it)
|
name = next(it)
|
||||||
|
owner_scenario = next(it)
|
||||||
|
|
||||||
new_pollutant = cls(
|
new_pollutant = cls(
|
||||||
id=pid, name=name,
|
id=pid, name=name,
|
||||||
status=status
|
status=status,
|
||||||
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
if deleted:
|
if deleted:
|
||||||
new_pollutant.set_as_deleted()
|
new_pollutant.set_as_deleted()
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,9 @@ class RiverNode(Node):
|
||||||
return nodes
|
return nodes
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
|
if not self.must_be_saved():
|
||||||
|
return True
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
"INSERT OR REPLACE INTO river_node(" +
|
"INSERT OR REPLACE INTO river_node(" +
|
||||||
"pamhyr_id, deleted, name, x, y, scenario" +
|
"pamhyr_id, deleted, name, x, y, scenario" +
|
||||||
|
|
@ -361,7 +364,7 @@ class RiverReach(Edge):
|
||||||
)
|
)
|
||||||
new.enable(enable=enabled)
|
new.enable(enable=enabled)
|
||||||
if deleted:
|
if deleted:
|
||||||
nd.set_as_deleted()
|
new.set_as_deleted()
|
||||||
|
|
||||||
data["reach"] = new
|
data["reach"] = new
|
||||||
new._reach = Reach._db_load(execute, data)
|
new._reach = Reach._db_load(execute, data)
|
||||||
|
|
@ -377,6 +380,9 @@ class RiverReach(Edge):
|
||||||
return reachs
|
return reachs
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
|
if not self.must_be_saved():
|
||||||
|
return True
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
"INSERT OR REPLACE INTO " +
|
"INSERT OR REPLACE INTO " +
|
||||||
"river_reach(" +
|
"river_reach(" +
|
||||||
|
|
@ -386,7 +392,7 @@ class RiverReach(Edge):
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.pamhyr_id}, {self._db_format(self.is_deleted())}, " +
|
f"{self.pamhyr_id}, {self._db_format(self.is_deleted())}, " +
|
||||||
f"'{self._db_format(self._name)}', " +
|
f"'{self._db_format(self._name)}', " +
|
||||||
f"{self._db_format(self.is_enable())},"
|
f"{self._db_format(self.is_enable())}," +
|
||||||
f"{self.node1.pamhyr_id}, {self.node2.pamhyr_id}, " +
|
f"{self.node1.pamhyr_id}, {self.node2.pamhyr_id}, " +
|
||||||
f"{self._status.scenario_id}" +
|
f"{self._status.scenario_id}" +
|
||||||
")"
|
")"
|
||||||
|
|
@ -543,7 +549,7 @@ class River(Graph):
|
||||||
new._nodes = RiverNode._db_load(
|
new._nodes = RiverNode._db_load(
|
||||||
execute, data
|
execute, data
|
||||||
)
|
)
|
||||||
data["nodes"] = new.nodes()
|
data["nodes"] = new._nodes
|
||||||
data['loaded_pid'] = set()
|
data['loaded_pid'] = set()
|
||||||
|
|
||||||
new._edges = RiverReach._db_load(
|
new._edges = RiverReach._db_load(
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,9 @@ class Scenario(SQLSubModel):
|
||||||
"output_rk_adists",
|
"output_rk_adists",
|
||||||
"boundary_condition_adists", "boundary_condition_data_adists",
|
"boundary_condition_adists", "boundary_condition_data_adists",
|
||||||
"lateral_contribution_adists", "lateral_contribution_data_adists",
|
"lateral_contribution_adists", "lateral_contribution_data_adists",
|
||||||
"initial_conditions_adists",
|
"initial_conditions_adists", "initial_conditions_adists_spec",
|
||||||
"d90_adists",
|
"d90_adists", "d90_adists_spec",
|
||||||
|
"dif_adists_spec",
|
||||||
"pollutants", "pollutants_characteristics",
|
"pollutants", "pollutants_characteristics",
|
||||||
# Hydraulic
|
# Hydraulic
|
||||||
"additional_files",
|
"additional_files",
|
||||||
|
|
@ -51,12 +52,14 @@ class Scenario(SQLSubModel):
|
||||||
"rep_lines",
|
"rep_lines",
|
||||||
"geometry_pointXYZ", "geometry_profileXYZ",
|
"geometry_pointXYZ", "geometry_profileXYZ",
|
||||||
"river_reach", "river_node",
|
"river_reach", "river_node",
|
||||||
|
"geotiff", "reservoir", "reservoir_data",
|
||||||
]
|
]
|
||||||
|
|
||||||
related_tables = tables_with_deleted_column + [
|
related_tables = tables_with_deleted_column + [
|
||||||
"dif_adists",
|
"dif_adists",
|
||||||
"solver_parameter",
|
"solver_parameter",
|
||||||
"hydraulic_structures_basic_value",
|
"hydraulic_structures_basic_value",
|
||||||
|
"results", "results_data", "results_add_data",
|
||||||
]
|
]
|
||||||
|
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
|
|
|
||||||
|
|
@ -173,7 +173,7 @@ class InitialConditionTableModel(PamhyrTableModel):
|
||||||
def add(self, row, parent=QModelIndex()):
|
def add(self, row, parent=QModelIndex()):
|
||||||
self.beginInsertRows(parent, row, row - 1)
|
self.beginInsertRows(parent, row, row - 1)
|
||||||
|
|
||||||
row = self.get_true_data_row(row)
|
# row = self.get_true_data_row(row)
|
||||||
|
|
||||||
self._undo.push(
|
self._undo.push(
|
||||||
AddCommand(
|
AddCommand(
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ class DelCommand(QUndoCommand):
|
||||||
el.set_as_not_deleted()
|
el.set_as_not_deleted()
|
||||||
|
|
||||||
def redo(self):
|
def redo(self):
|
||||||
for el in self._bc:
|
for el in self._lc:
|
||||||
el.set_as_deleted()
|
el.set_as_deleted()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue