mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
4 Commits
0e1e3665a6
...
0346080e16
| Author | SHA1 | Date |
|---|---|---|
|
|
0346080e16 | |
|
|
76559f6af8 | |
|
|
04ce79462c | |
|
|
ffa065a3e6 |
|
|
@ -193,9 +193,9 @@ class OutputRKAdists(SQLSubModel):
|
||||||
"output_rk_adists(pamhyr_id, deleted, " +
|
"output_rk_adists(pamhyr_id, deleted, " +
|
||||||
"reach, rk, title, scenario) " +
|
"reach, rk, title, scenario) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, {self._db_format({self.is_deleted()})}" +
|
f"{self.id}, {self._db_format(self.is_deleted())}" +
|
||||||
f"{self._reach}, {self._rk}, " +
|
f"{self._reach}, {self._rk}, " +
|
||||||
f"'{self._db_format(self._title)}'" +
|
f"'{self._db_format(self._title)}', " +
|
||||||
f"{self._status.scenario_id}" +
|
f"{self._status.scenario_id}" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -547,12 +547,12 @@ class River(Graph):
|
||||||
|
|
||||||
data['loaded_pid'] = set()
|
data['loaded_pid'] = set()
|
||||||
|
|
||||||
|
new._Pollutants = PollutantsList._db_load(execute, data)
|
||||||
|
|
||||||
new._Output_rk_adists = OutputRKAdistsList._db_load(
|
new._Output_rk_adists = OutputRKAdistsList._db_load(
|
||||||
execute, data
|
execute, data
|
||||||
)
|
)
|
||||||
|
|
||||||
new._Pollutants = PollutantsList._db_load(execute, data)
|
|
||||||
|
|
||||||
new._InitialConditionsAdisTS = InitialConditionsAdisTSList._db_load(
|
new._InitialConditionsAdisTS = InitialConditionsAdisTSList._db_load(
|
||||||
execute, data)
|
execute, data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -93,21 +93,10 @@ class Scenario(SQLSubModel):
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_update(cls, execute, version, data=None):
|
def _db_update(cls, execute, version, data=None):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
if major == minor == "0":
|
|
||||||
if int(release) < 12:
|
|
||||||
cls._db_create(execute)
|
|
||||||
cls._db_add_default(execute)
|
|
||||||
|
|
||||||
if major == "0" and minor == "1":
|
if major == "0" and int(minor) <= 2:
|
||||||
if int(release) < 2:
|
cls._db_create(execute)
|
||||||
execute(
|
cls._db_add_default(execute)
|
||||||
"ALTER TABLE scenario " +
|
|
||||||
"ADD COLUMN x REAL NOT NULL DEFAULT 1000"
|
|
||||||
)
|
|
||||||
execute(
|
|
||||||
f"ALTER TABLE scenario " +
|
|
||||||
"ADD COLUMN y REAL NOT NULL DEFAULT 1000"
|
|
||||||
)
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -166,6 +166,44 @@ class StudyScenarioTestCase(unittest.TestCase):
|
||||||
study.reload_from_scenario(study.scenarios[nid])
|
study.reload_from_scenario(study.scenarios[nid])
|
||||||
self.assertEqual(len(study.river.additional_files), 2)
|
self.assertEqual(len(study.river.additional_files), 2)
|
||||||
|
|
||||||
|
def test_scenario_river_nodes(self):
|
||||||
|
study = Study.new("foo", "bar")
|
||||||
|
study.river.additional_files.new(0)
|
||||||
|
|
||||||
|
self.assertNotEqual(study.river, None)
|
||||||
|
|
||||||
|
dir = tempfile.mkdtemp()
|
||||||
|
f = os.path.join(dir, "foo.pamhyr")
|
||||||
|
|
||||||
|
study.filename = f
|
||||||
|
study.save()
|
||||||
|
|
||||||
|
# Add nodes
|
||||||
|
n0 = study.river.add_node()
|
||||||
|
n1 = study.river.add_node(x=1.0, y=0.0)
|
||||||
|
n2 = study.river.add_node(x=0.0, y=1.0)
|
||||||
|
|
||||||
|
self.assertEqual(study.river.nodes_counts(), 3)
|
||||||
|
|
||||||
|
study.save()
|
||||||
|
|
||||||
|
# New scenario
|
||||||
|
new = study.new_scenario_from_current()
|
||||||
|
nid = new.id
|
||||||
|
|
||||||
|
n3 = study.river.add_node(x=0.0, y=1.0)
|
||||||
|
study.save()
|
||||||
|
|
||||||
|
self.assertEqual(study.river.nodes_counts(), 4)
|
||||||
|
|
||||||
|
study.reload_from_scenario(study.scenarios[0])
|
||||||
|
self.assertEqual(study.river.nodes_counts(), 3)
|
||||||
|
|
||||||
|
study.reload_from_scenario(study.scenarios[nid])
|
||||||
|
self.assertEqual(study.river.nodes_counts(), 4)
|
||||||
|
|
||||||
|
study.save()
|
||||||
|
|
||||||
|
|
||||||
class RiverTestCase(unittest.TestCase):
|
class RiverTestCase(unittest.TestCase):
|
||||||
def test_create_river(self):
|
def test_create_river(self):
|
||||||
|
|
|
||||||
|
|
@ -65,11 +65,13 @@ class ComboBoxDelegate(QItemDelegate):
|
||||||
.get(index.row()) \
|
.get(index.row()) \
|
||||||
.reach
|
.reach
|
||||||
|
|
||||||
reach = next(filter(
|
|
||||||
lambda edge: edge.id == reach_id, self._data.edges()
|
|
||||||
))
|
|
||||||
|
|
||||||
if reach_id is not None:
|
if reach_id is not None:
|
||||||
|
reach = next(
|
||||||
|
filter(
|
||||||
|
lambda edge: edge.id == reach_id, self._data.edges()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
val = list(
|
val = list(
|
||||||
map(
|
map(
|
||||||
lambda rk: str(rk), reach.reach.get_rk()
|
lambda rk: str(rk), reach.reach.get_rk()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue