Adists: Prepare for scenarios update (commit code is not working).

This commit is contained in:
parouby committed 2025-08-12 15:36:19 +02:00
1 parent c43a26870e
commit 37cf42c524
12 files changed
+362 -122

No files matched your search

@@ -96,9 +96,8 @@ class LateralContributionAdisTS(SQLSubModel):
if int(release) < 7:
cls._db_create(execute)
if major == "0" and int(minor) <= 2:
if int(release) <= 0:
cls._db_update_to_0_2_0(execute, data)
if major == "0" and int(minor) < 2:
cls._db_update_to_0_2_0(execute, data)
return True
@@ -115,7 +114,7 @@ class LateralContributionAdisTS(SQLSubModel):
execute(
f"INSERT INTO {table}_tmp " +
"(pamhyr_id, pollutant, reach, begin_rk, end_rk, scenario) " +
"SELECT pamhyr_id, pollutant, edge, begin_rk, end_rk, scenario) " +
"SELECT pamhyr_id, pollutant, edge, begin_rk, end_rk, scenario " +
f"FROM {table}"
)
@@ -124,7 +123,6 @@ class LateralContributionAdisTS(SQLSubModel):
cls._db_update_to_0_2_0_set_reach_pid(execute, table, reachs)
@classmethod
def _db_update_to_0_2_0_data(cls, execute, data):
table = "lateral_contribution_data_adists"
@@ -147,43 +145,53 @@ class LateralContributionAdisTS(SQLSubModel):
cls._db_update_to_0_2_0_set_reach_pid(execute, table, reachs)
@classmethod
def _db_load(cls, execute, data=None):
new = []
scenario = data["scenario"]
loaded = data['loaded_pid']
table = execute(
"SELECT id, pollutant, edge, begin_rk, end_rk " +
"FROM lateral_contribution_adists"
"FROM lateral_contribution_adists" +
f"WHERE scenario = {scenario.id} " +
f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))}) "
)
if table is not None:
for row in table:
lc = cls(
lca = cls(
id=row[0],
pollutant=row[1],
status=data['status']
)
lc.edge = row[2]
lc.begin_rk = row[3]
lc.end_rk = row[4]
lca.edge = row[2]
lca.begin_rk = row[3]
lca.end_rk = row[4]
values = execute(
"SELECT data0," +
" data1 FROM lateral_contribution_data_adists " +
f"WHERE lc = '{lc.id}'"
f"WHERE scenario = {scenario.id} " +
f"AND pamhyr_id NOT IN ({', '.join(map(str, loaded))}) "
f"AND lca = '{lca.id}'"
)
# Write data
for v in values:
data0 = lc._types[0](v[0])
data1 = lc._types[1](v[1])
data0 = lca._types[0](v[0])
data1 = lca._types[1](v[1])
# Replace data at pos ind
lc._data.append((data0, data1))
lca._data.append((data0, data1))
new.append(lc)
data["scenario"] = scenario.parent
new += cls._db_load(execute, data)
data["scenario"] = scenario
return new
def _db_save(self, execute, data=None):