Compare commits

..

2 Commits

15 changed files with 140 additions and 56 deletions

View File

@ -64,6 +64,7 @@ class BoundaryConditionAdisTS(SQLSubModel):
execute(f"""
CREATE TABLE boundary_condition_adists{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
pollutant INTEGER NOT NULL,
type TEXT NOT NULL,
node INTEGER,
@ -205,7 +206,7 @@ class BoundaryConditionAdisTS(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, pollutant, type, node, scenario " +
"SELECT pamhyr_id, deleted, pollutant, type, node, scenario " +
"FROM boundary_condition_adists " +
f"WHERE scenario = {scenario.id} " +
f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))}) "
@ -216,6 +217,7 @@ class BoundaryConditionAdisTS(SQLSubModel):
it = iter(row)
pid = next(it)
deleted = (next(it) == 1)
pollutant = next(it)
bc_type = next(it)
node = next(it)
@ -227,6 +229,8 @@ class BoundaryConditionAdisTS(SQLSubModel):
status=status,
owner_scenario=owner_scenario
)
if deleted:
bc.set_as_deleted()
bc.type = bc_type
@ -287,10 +291,12 @@ class BoundaryConditionAdisTS(SQLSubModel):
execute(
"INSERT INTO " +
"boundary_condition_adists(id, pollutant, type, " +
"boundary_condition_adists(" +
"pamhyr_id, deleted, pollutant, type, " +
"node, scenario) " +
"VALUES (" +
f"{self.id}, {self._pollutant}, " +
f"{self.id}, {self._db_format(self.is_deleted())}, " +
f"{self._pollutant}, " +
f"'{self._db_format(self._type)}', {node}, " +
f"{self._status.scenario_id}" +
")"
@ -302,7 +308,8 @@ class BoundaryConditionAdisTS(SQLSubModel):
execute(
"INSERT INTO " +
"boundary_condition_data_adists(data0, data1, bc, scenario) " +
"boundary_condition_data_adists(" +
"data0, data1, bc, scenario) " +
f"VALUES ('{data0}', {data1}, {self.id}, " +
f"{self._status.scenario_id})"
)

View File

@ -19,7 +19,7 @@
from copy import copy
from tools import trace, timer
from Model.Tools.PamhyrList import PamhyrModelList
from Model.Tools.PamhyrListExt import PamhyrModelList
from Model.Except import NotImplementedMethodeError
from Model.BoundaryConditionsAdisTS.BoundaryConditionAdisTS \

View File

@ -54,6 +54,7 @@ class D90AdisTS(SQLSubModel):
execute(f"""
CREATE TABLE d90_adists{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
name TEXT NOT NULL,
d90 REAL NOT NULL,
enabled BOOLEAN NOT NULL,
@ -110,7 +111,7 @@ class D90AdisTS(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, name, d90, enabled, scenario " +
"SELECT pamhyr_id, deleted, name, d90, enabled, scenario " +
"FROM d90_adists " +
f"WHERE scenario = {scenario.id} " +
f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))}) "
@ -121,6 +122,7 @@ class D90AdisTS(SQLSubModel):
it = iter(row)
pid = next(it)
deleted = (next(it) == 1)
name = next(it)
value_d90 = next(it)
enabled = (next(it) == 1)
@ -132,6 +134,8 @@ class D90AdisTS(SQLSubModel):
status=status,
owner_scenario=owner_scenario
)
if deleted:
d90.set_as_deleted()
d90.d90 = value_d90
d90.enabled = enabled
@ -165,10 +169,12 @@ class D90AdisTS(SQLSubModel):
execute(
"INSERT INTO " +
"d90_adists(" +
"pamhyr_id, name, d90, enabled, scenario" +
"pamhyr_id, deleted, " +
"name, d90, enabled, scenario" +
") " +
"VALUES (" +
f"{self.id}, '{self._db_format(self._name)}', " +
f"{self.id}, {self._db_format(self.is_deleted())}, " +
f"'{self._db_format(self._name)}', " +
f"{d90}, {self._enabled}, {self._status.scenario_id}" +
")"
)
@ -222,19 +228,36 @@ class D90AdisTS(SQLSubModel):
return n
def delete(self, data):
self._data = list(
filter(
lambda x: x not in data,
self._data
list(
map(
lambda x: x.set_as_deleted(),
data
)
)
self.modified()
def delete_i(self, indexes):
for ind in indexes:
del self._data[ind]
list(
map(
lambda e: e[1].set_as_deleted(),
filter(
lambda e: e[0] in indexes,
enumerate(self._data)
)
)
)
self.modified()
def insert(self, index, data):
self._data.insert(index, data)
if data in self._data:
self.undelete([data])
else:
self._data.insert(index, data)
self.modified()
def undelete(self, lst):
for x in lst:
x.set_as_not_deleted()
self.modified()

View File

@ -19,7 +19,7 @@
from copy import copy
from tools import trace, timer
from Model.Tools.PamhyrList import PamhyrModelList
from Model.Tools.PamhyrListExt import PamhyrModelList
from Model.D90AdisTS.D90AdisTS import D90AdisTS

View File

@ -51,6 +51,7 @@ class D90AdisTSSpec(SQLSubModel):
execute(f"""
CREATE TABLE d90_adists_spec{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
d90_default INTEGER NOT NULL,
name TEXT NOT NULL,
reach INTEGER NOT NULL,
@ -137,7 +138,8 @@ class D90AdisTSSpec(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, name, reach, start_rk, end_rk, " +
"SELECT pamhyr_id, deleted, " +
f"name, reach, start_rk, end_rk, " +
"d90, enabled, scenario " +
"FROM d90_adists_spec " +
f"WHERE d90_default = {data['d90_default_id']} " +
@ -150,6 +152,7 @@ class D90AdisTSSpec(SQLSubModel):
it = iter(row)
pid = next(it)
deleted = (next(it) == 1)
name = next(it)
reach = next(it)
start_rk = next(it)
@ -164,6 +167,8 @@ class D90AdisTSSpec(SQLSubModel):
status=status,
owner_scenario=owner_scenario
)
if deleted:
new_spec.is_deleted()
new_spec.reach = reach
new_spec.start_rk = start_rk
@ -188,10 +193,12 @@ class D90AdisTSSpec(SQLSubModel):
execute(
"INSERT INTO " +
"d90_spec(pamhyr_id, d90_default, name, reach, " +
"d90_spec(pamhyr_id, deleted, " +
"d90_default, name, reach, " +
"start_rk, end_rk, d90, enabled, scenario) " +
"VALUES (" +
f"{self.id}, {d90_default}, " +
f"{self.id}, {self._db_format(self.is_deleted())}" +
f"{d90_default}, " +
f"'{self._db_format(self._name_section)}', " +
f"{self._reach}, " +
f"{self._start_rk}, {self._end_rk}, " +

View File

@ -282,19 +282,36 @@ class DIFAdisTS(SQLSubModel):
return n
def delete(self, data):
self._data = list(
filter(
lambda x: x not in data,
self._data
list(
map(
lambda x: x.set_as_deleted(),
data
)
)
self.modified()
def delete_i(self, indexes):
for ind in indexes:
del self._data[ind]
list(
map(
lambda e: e[1].set_as_deleted(),
filter(
lambda e: e[0] in indexes,
enumerate(self._data)
)
)
)
self.modified()
def insert(self, index, data):
self._data.insert(index, data)
if data in self._data:
self.undelete([data])
else:
self._data.insert(index, data)
self.modified()
def undelete(self, lst):
for x in lst:
x.set_as_not_deleted()
self.modified()

View File

@ -19,7 +19,7 @@
from copy import copy
from tools import trace, timer
from Model.Tools.PamhyrList import PamhyrModelList
from Model.Tools.PamhyrListExt import PamhyrModelList
from Model.DIFAdisTS.DIFAdisTS import DIFAdisTS

View File

@ -59,6 +59,7 @@ class DIFAdisTSSpec(SQLSubModel):
execute(f"""
CREATE TABLE dif_adists_spec{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
dif_default INTEGER NOT NULL,
method TEXT NOT NULL,
reach INTEGER NOT NULL,
@ -149,7 +150,7 @@ class DIFAdisTSSpec(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, method, reach, start_rk, end_rk, " +
"SELECT pamhyr_id, deleted, method, reach, start_rk, end_rk, " +
"dif, b, c, enabled, scenario " +
"FROM dif_adists_spec " +
f"WHERE dif_default = {data['dif_default_id']} " +
@ -162,6 +163,7 @@ class DIFAdisTSSpec(SQLSubModel):
it = iter(row)
id = next(it)
deleted = (next(it) == 1)
method = next(it)
reach = next(it)
start_rk = next(it)
@ -178,6 +180,8 @@ class DIFAdisTSSpec(SQLSubModel):
status=status,
owner_scenario=owner_scenario
)
if deleted:
new_spec.set_as_deleted()
new_spec.reach = reach
new_spec.start_rk = start_rk
@ -204,10 +208,12 @@ class DIFAdisTSSpec(SQLSubModel):
execute(
"INSERT INTO " +
"dif_adists_spec(pamhyr_id, dif_default, method, reach, " +
"dif_adists_spec(pamhyr_id, deleted, " +
"dif_default, method, reach, " +
"start_rk, end_rk, dif, b, c, enabled, scenario) " +
"VALUES (" +
f"{self.id}, {dif_default}, " +
f"{self.id}, {self._db_format(self.is_deleted())}" +
f"{dif_default}, " +
f"'{self._db_format(self._method)}', " +
f"{self._reach}, " +
f"{self._start_rk}, {self._end_rk}, " +

View File

@ -60,6 +60,7 @@ class InitialConditionsAdisTS(SQLSubModel):
execute(f"""
CREATE TABLE initial_conditions_adists{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
pollutant INTEGER NOT NULL,
name TEXT NOT NULL,
concentration REAL NOT NULL,
@ -147,7 +148,8 @@ class InitialConditionsAdisTS(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, pollutant, name, concentration, eg, em, ed, " +
"SELECT pamhyr_id, deleted, " +
"pollutant, name, concentration, eg, em, ed, " +
"enabled, scenario " +
"FROM initial_conditions_adists " +
f"WHERE scenario = {scenario.id} " +
@ -159,6 +161,7 @@ class InitialConditionsAdisTS(SQLSubModel):
it = iter(row)
pid = next(it)
deleted = (next(it) == 1)
pollutant = next(it)
name = next(it)
concentration = next(it)
@ -174,6 +177,8 @@ class InitialConditionsAdisTS(SQLSubModel):
status=status,
owner_scenario=owner_scenario
)
if deleted:
ic.set_as_deleted()
ic.pollutant = pollutant
ic.concentration = concentration
@ -227,11 +232,12 @@ class InitialConditionsAdisTS(SQLSubModel):
sql = (
"INSERT INTO " +
"initial_conditions_adists(" +
"pamhyr_id, pollutant, name, concentration, " +
"pamhyr_id, deletec, pollutant, name, concentration, " +
"eg, em, ed, enabled, scenario" +
") " +
"VALUES (" +
f"{self.id}, {pollutant}, '{self._db_format(self._name)}', " +
f"{self.id}, {self.is_deleted()}, " +
f"{pollutant}, '{self._db_format(self._name)}', " +
f"{concentration}, {eg}, {em}, {ed}, {self._enabled}, " +
f"{self._status.scenario_id}" +
")"

View File

@ -19,7 +19,7 @@
from copy import copy
from tools import trace, timer
from Model.Tools.PamhyrList import PamhyrModelList
from Model.Tools.PamhyrListExt import PamhyrModelList
from Model.InitialConditionsAdisTS.InitialConditionsAdisTS \
import InitialConditionsAdisTS

View File

@ -52,6 +52,7 @@ class ICAdisTSSpec(SQLSubModel):
execute(f"""
CREATE TABLE initial_conditions_adists_spec{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
ic_default INTEGER NOT NULL,
name TEXT NOT NULL,
reach INTEGER NOT NULL,
@ -149,7 +150,7 @@ class ICAdisTSSpec(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, name, reach, start_rk, end_rk, " +
"SELECT pamhyr_id, deleted, name, reach, start_rk, end_rk, " +
"concentration, eg, em, ed, rate, enabled, scenario " +
"FROM initial_conditions_adists_spec " +
f"WHERE ic_default = {data['ic_default_id']} " +
@ -162,6 +163,7 @@ class ICAdisTSSpec(SQLSubModel):
it = iter(row)
id = next(it)
deleted = (next(it) == 1)
name = next(it)
reach = next(it)
start_rk = next(it)
@ -179,6 +181,8 @@ class ICAdisTSSpec(SQLSubModel):
status=status,
owner_scenario=owner_scenario
)
if deleted:
new_spec.set_as_deleted()
new_spec.reach = reach
new_spec.start_rk = start_rk
@ -207,11 +211,13 @@ class ICAdisTSSpec(SQLSubModel):
sql = (
"INSERT INTO " +
"initial_conditions_adists_spec(id, ic_default, name, reach, " +
"initial_conditions_adists_spec(id, deleted, " +
"ic_default, name, reach, " +
"start_rk, end_rk, concentration, eg, em, ed, rate, " +
"enabled, scenario) " +
"VALUES (" +
f"{self.id}, {ic_default}, " +
f"{self.id}, {self._db_format(self.is_deleted())}, " +
f"{ic_default}, " +
f"'{self._db_format(self._name_section)}', " +
f"{self._reach}, " +
f"{self._start_rk}, {self._end_rk}, " +

View File

@ -65,6 +65,7 @@ class LateralContributionAdisTS(SQLSubModel):
execute(f"""
CREATE TABLE lateral_contribution_adists{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
pollutant INTEGER NOT NULL,
reach INTEGER NOT NULL,
begin_rk REAL NOT NULL,
@ -81,6 +82,7 @@ class LateralContributionAdisTS(SQLSubModel):
execute(f"""
CREATE TABLE lateral_contribution_data_adists{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
data0 TEXT NOT NULL,
data1 TEXT NOT NULL,
lca INTEGER,
@ -204,7 +206,7 @@ class LateralContributionAdisTS(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, pollutant, reach, " +
"SELECT pamhyr_id, deleted, pollutant, reach, " +
"begin_rk, end_rk, scenario " +
"FROM lateral_contribution_adists " +
f"WHERE scenario = {scenario.id} " +
@ -216,6 +218,7 @@ class LateralContributionAdisTS(SQLSubModel):
it = iter(row)
pid = next(it)
deleted = (next(it) == 1)
pollutant = next(it)
reach = next(it)
brk = next(it)
@ -228,6 +231,8 @@ class LateralContributionAdisTS(SQLSubModel):
status=status,
owner_scenario=owner_scenario
)
if deleted:
lca.set_as_deleted()
lca.reach = reach
lca.begin_rk = brk
@ -274,10 +279,11 @@ class LateralContributionAdisTS(SQLSubModel):
execute(
"INSERT INTO " +
"lateral_contribution_adists(id, " +
"lateral_contribution_adists(id, deleted," +
"pollutant, reach, begin_rk, end_rk, scenario) " +
"VALUES (" +
f"{self.id}, {self._pollutant}, {self.reach}, " +
f"{self.id}, {self._db_format(self.is_deleted())}, " +
f"{self._pollutant}, {self.reach}, " +
f"{self._begin_rk}, {self._end_rk}" +
f"{self._status.scenario_id}" +
")"

View File

@ -19,7 +19,7 @@
from copy import copy
from tools import trace, timer
from Model.Tools.PamhyrList import PamhyrModelList
from Model.Tools.PamhyrListExt import PamhyrModelList
from Model.Except import NotImplementedMethodeError
from Model.LateralContributionsAdisTS.LateralContributionAdisTS \

View File

@ -77,17 +77,18 @@ class OutputRKAdists(SQLSubModel):
@classmethod
def _db_create(cls, execute, ext=""):
execute(
f"CREATE TABLE output_rk_adists{ext}(" +
f"{cls.create_db_add_pamhyr_id()},"
"reach INTEGER NOT NULL, " +
"rk REAL NOT NULL, " +
"title TEXT NOT NULL, " +
f"{Scenario.create_db_add_scenario()},"
f"{Scenario.create_db_add_scenario_fk()},"
"FOREIGN KEY(reach) REFERENCES river_reach(id)" +
")"
)
execute(f"""
CREATE TABLE output_rk_adists{ext}(
{cls.create_db_add_pamhyr_id()},
deleted BOOLEAN NOT NULL DEFAULT FALSE,
reach INTEGER NOT NULL,
rk REAL NOT NULL,
title TEXT NOT NULL,
{Scenario.create_db_add_scenario()},
{Scenario.create_db_add_scenario_fk()},
FOREIGN KEY(reach) REFERENCES river_reach(id)
)
""")
return cls._create_submodel(execute)
@ -144,7 +145,7 @@ class OutputRKAdists(SQLSubModel):
return new
table = execute(
"SELECT pamhyr_id, reach, rk, title, scenario " +
"SELECT pamhyr_id, deleted, reach, rk, title, scenario " +
f"FROM output_rk_adists"
)
@ -153,6 +154,7 @@ class OutputRKAdists(SQLSubModel):
it = iter(row)
pid = next(it)
deleted = (next(it) == 1)
id_reach = next(it)
id_rk = next(it)
title = next(it)
@ -164,6 +166,8 @@ class OutputRKAdists(SQLSubModel):
status=status,
owner_scenario=owner_scenario,
)
if deleted:
new_output.set_as_deleted()
loaded.add(pid)
new.append(new_output)
@ -186,9 +190,11 @@ class OutputRKAdists(SQLSubModel):
execute(
"INSERT INTO " +
"output_rk_adists(pamhyr_id, reach, rk, title, scenario) " +
"output_rk_adists(pamhyr_id, deleted, " +
"reach, rk, title, scenario) " +
"VALUES (" +
f"{self.id}, {self._reach}, {self._rk}, " +
f"{self.id}, {self._db_format({self.is_deleted()})}" +
f"{self._reach}, {self._rk}, " +
f"'{self._db_format(self._title)}'" +
f"{self._status.scenario_id}" +
")"

View File

@ -19,7 +19,7 @@
from tools import trace, timer
from Model.Except import NotImplementedMethodeError
from Model.Tools.PamhyrList import PamhyrModelList
from Model.Tools.PamhyrListExt import PamhyrModelList
from Model.OutputRKAdists.OutputRKAdists import OutputRKAdists