mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
Adists: Prepare for scenarios update (commit code is not working).
This commit is contained in:
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):
|
||||
|
||||
Reference in new issue
Block a user