From c7b5b40eda6825d8bd9a5e67c58d4a773395d1fe Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Wed, 7 Aug 2024 11:11:32 +0200 Subject: [PATCH] DB: Some fixes for db update 0.1.0. --- src/Model/BoundaryCondition/BoundaryCondition.py | 7 ++++++- src/Model/Friction/FrictionList.py | 4 +--- src/Model/Geometry/Point.py | 3 ++- src/Model/Geometry/Profile.py | 12 +----------- src/Model/InitialConditions/InitialConditions.py | 4 ++-- 5 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/Model/BoundaryCondition/BoundaryCondition.py b/src/Model/BoundaryCondition/BoundaryCondition.py index a90d44b9..93c6bada 100644 --- a/src/Model/BoundaryCondition/BoundaryCondition.py +++ b/src/Model/BoundaryCondition/BoundaryCondition.py @@ -85,7 +85,7 @@ class Data(SQLSubModel): cls._db_create(execute, ext="_tmp") execute( - f"INSERT INTO {table} " + + f"INSERT INTO {table}_tmp " + "(pamhyr_id, ind, data0, data1, bc, scenario) " + "SELECT pamhyr_id, ind, data0, data1, bc, scenario " + f"FROM {table}" @@ -196,6 +196,9 @@ class BoundaryCondition(SQLSubModel): ) """) + if ext == "_tmp": + return True + return cls._create_submodel(execute) @classmethod @@ -278,6 +281,8 @@ class BoundaryCondition(SQLSubModel): data["bc"] = bc bc._data = Data._db_load(execute, data=data) + new.append(bc) + return new def _db_save(self, execute, data=None): diff --git a/src/Model/Friction/FrictionList.py b/src/Model/Friction/FrictionList.py index d67db3fd..9b8ede67 100644 --- a/src/Model/Friction/FrictionList.py +++ b/src/Model/Friction/FrictionList.py @@ -50,12 +50,10 @@ class FrictionList(PamhyrModelList): def _db_load(cls, execute, data=None): new = cls(status=data['status']) - ilst = Friction._db_load( + new._lst = Friction._db_load( execute, data ) - new._lst = list(map(lambda x: x[1], sorted(ilst))) - return new def _db_save(self, execute, data=None): diff --git a/src/Model/Geometry/Point.py b/src/Model/Geometry/Point.py index bfa8a883..c99f3dd9 100644 --- a/src/Model/Geometry/Point.py +++ b/src/Model/Geometry/Point.py @@ -20,7 +20,8 @@ from Model.Except import NotImplementedMethodeError class Point(object): - def __init__(self, name: str = "", profile=None, status=None): + def __init__(self, id:int = -1, name: str = "", + profile=None, status=None): super(Point, self).__init__() self._status = status diff --git a/src/Model/Geometry/Profile.py b/src/Model/Geometry/Profile.py index 80084e0e..cd4ce3ef 100644 --- a/src/Model/Geometry/Profile.py +++ b/src/Model/Geometry/Profile.py @@ -57,17 +57,7 @@ class Profile(object): return len(self.points) def _get_points_list(self): - # Points list generator is type (int, Point) with the first - # element the index of the Point in list - return list( - map( - lambda p: p[1], - sorted( - self._points, - key=lambda p: p[0] - ) - ) - ) + return list(self._points) @property def points(self): diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py index 52cd7f6b..b094a136 100644 --- a/src/Model/InitialConditions/InitialConditions.py +++ b/src/Model/InitialConditions/InitialConditions.py @@ -102,9 +102,9 @@ class Data(SQLSubModel): execute( f"INSERT INTO {table}_tmp " + - "(pamhyr_id, name, comment, reach, rk, " + + "(pamhyr_id, ind, name, comment, reach, rk, " + "discharge, height, scenario) " + - "SELECT pamhyr_id, name, comment, reach, rk, " + + "SELECT pamhyr_id, ind, name, comment, reach, rk, " + "discharge, height, scenario " + f"FROM {table}" )