From ccbbc83502108110cd068b185585973503802056 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Mon, 20 Nov 2023 16:10:10 +0100 Subject: [PATCH] IC: Fix sql_save as generator value type. --- src/Model/InitialConditions/InitialConditionsDict.py | 8 ++++++++ src/Model/Tools/PamhyrDict.py | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Model/InitialConditions/InitialConditionsDict.py b/src/Model/InitialConditions/InitialConditionsDict.py index 218f4cbc..86655e36 100644 --- a/src/Model/InitialConditions/InitialConditionsDict.py +++ b/src/Model/InitialConditions/InitialConditionsDict.py @@ -17,12 +17,16 @@ # -*- coding: utf-8 -*- import types +import logging + from copy import copy from tools import trace, timer from Model.Tools.PamhyrDict import PamhyrModelDict from Model.InitialConditions.InitialConditions import InitialConditions +logger = logging.getLogger() + class InitialConditionsDict(PamhyrModelDict): _sub_classes = [ @@ -55,6 +59,10 @@ class InitialConditionsDict(PamhyrModelDict): for reach in self._dict: data["reach"] = reach + v = self._dict[reach] + if isinstance(v, types.GeneratorType): + self._dict[reach] = list(v)[0] + ok &= self._dict[reach]._db_save(execute, data) return ok diff --git a/src/Model/Tools/PamhyrDict.py b/src/Model/Tools/PamhyrDict.py index c9751d92..c8cab70a 100644 --- a/src/Model/Tools/PamhyrDict.py +++ b/src/Model/Tools/PamhyrDict.py @@ -16,6 +16,7 @@ # -*- coding: utf-8 -*- +import types import logging from copy import copy @@ -64,7 +65,12 @@ class PamhyrModelDict(SQLSubModel): def get(self, key): if key in self._dict: - return self._dict[key] + v = self._dict[key] + + if type(v) == types.GeneratorType: + return list(v) + + return v new = self.new(key) self.set(key, new)