From 94509a1638e00eaee0515779499ab46a0172cdcd Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Wed, 5 Jul 2023 09:33:11 +0200 Subject: [PATCH] BC, LC: Fix SQL export. --- src/Model/BoundaryCondition/BoundaryCondition.py | 5 ++++- src/Model/BoundaryCondition/BoundaryConditionList.py | 2 ++ src/Model/LateralContribution/LateralContribution.py | 4 +++- src/Model/LateralContribution/LateralContributionList.py | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Model/BoundaryCondition/BoundaryCondition.py b/src/Model/BoundaryCondition/BoundaryCondition.py index 79bcb775..152a6269 100644 --- a/src/Model/BoundaryCondition/BoundaryCondition.py +++ b/src/Model/BoundaryCondition/BoundaryCondition.py @@ -96,7 +96,10 @@ class BoundaryCondition(SQLSubModel): name = row[1], status = data['status'] ) - bc.node = next(filter(lambda n: n.id == row[3], data["nodes"])) + + bc.node = None + if row[3] != -1: + bc.node = next(filter(lambda n: n.id == row[3], data["nodes"])) values = execute( "SELECT ind, data0, data1 FROM boundary_condition_data " + diff --git a/src/Model/BoundaryCondition/BoundaryConditionList.py b/src/Model/BoundaryCondition/BoundaryConditionList.py index c59f97b0..d14a870b 100644 --- a/src/Model/BoundaryCondition/BoundaryConditionList.py +++ b/src/Model/BoundaryCondition/BoundaryConditionList.py @@ -53,6 +53,8 @@ class BoundaryConditionList(SQLSubModel): return new def _sql_save(self, execute, data = None): + execute("DELETE FROM boundary_condition") + if data is None: data = {} diff --git a/src/Model/LateralContribution/LateralContribution.py b/src/Model/LateralContribution/LateralContribution.py index e5427d05..5098e9ba 100644 --- a/src/Model/LateralContribution/LateralContribution.py +++ b/src/Model/LateralContribution/LateralContribution.py @@ -96,7 +96,9 @@ class LateralContribution(SQLSubModel): name = row[1], status = data['status'] ) - lc.edge = next(filter(lambda e: e.id == row[3], data["edges"])) + lc.edge = None + if row[3] != -1: + lc.edge = next(filter(lambda e: e.id == row[3], data["edges"])) lc._begin_kp = row[4] lc._end_kp = row[5] diff --git a/src/Model/LateralContribution/LateralContributionList.py b/src/Model/LateralContribution/LateralContributionList.py index 810a3188..4d6a8567 100644 --- a/src/Model/LateralContribution/LateralContributionList.py +++ b/src/Model/LateralContribution/LateralContributionList.py @@ -51,6 +51,8 @@ class LateralContributionList(SQLSubModel): return new def _sql_save(self, execute, data = None): + execute("DELETE FROM lateral_contribution") + if data is None: data = {} -- GitLab