mirror of https://gitlab.com/pamhyr/pamhyr2
Pamhyr2: Model: Add data traversal method on each pamhyr object.
parent
78e6f7e5a7
commit
090326b75c
|
|
@ -400,6 +400,16 @@ class BoundaryCondition(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for el in self._data:
|
||||||
|
el._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(
|
return len(
|
||||||
list(
|
list(
|
||||||
|
|
|
||||||
|
|
@ -415,6 +415,16 @@ class BoundaryConditionAdisTS(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self._data)
|
return len(self._data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -197,6 +197,16 @@ class D90AdisTS(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self._data)
|
return len(self._data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -220,6 +220,16 @@ class DIFAdisTS(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self._data)
|
return len(self._data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -229,6 +229,16 @@ class BasicHS(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self._data)
|
return len(self._data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -327,6 +327,16 @@ class HydraulicStructure(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self.lst)
|
return len(self.lst)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -374,6 +374,16 @@ class InitialConditions(SQLSubModel):
|
||||||
|
|
||||||
return ok
|
return ok
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self.data)
|
return len(self.data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -439,6 +439,17 @@ class LateralContribution(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(
|
return len(
|
||||||
list(
|
list(
|
||||||
|
|
|
||||||
|
|
@ -392,6 +392,16 @@ class LateralContributionAdisTS(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(
|
return len(
|
||||||
list(
|
list(
|
||||||
|
|
|
||||||
|
|
@ -441,6 +441,16 @@ class Pollutants(SQLSubModel):
|
||||||
|
|
||||||
return ok
|
return ok
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def enabled(self):
|
def enabled(self):
|
||||||
return self._enabled
|
return self._enabled
|
||||||
|
|
|
||||||
|
|
@ -375,6 +375,16 @@ class Reservoir(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for d in self._data:
|
||||||
|
d._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self._data)
|
return len(self._data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -649,8 +649,8 @@ class River(Graph):
|
||||||
obj._data_traversal(predicate, modifier, data)
|
obj._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def _get_objs_list(self):
|
def _get_objs_list(self):
|
||||||
objs = [
|
objs = (self._nodes + self._edges)
|
||||||
self._nodes, self._edges,
|
objs += [
|
||||||
self._boundary_condition,
|
self._boundary_condition,
|
||||||
self._initial_conditions,
|
self._initial_conditions,
|
||||||
self._lateral_contribution,
|
self._lateral_contribution,
|
||||||
|
|
|
||||||
|
|
@ -471,6 +471,16 @@ class SedimentLayer(SQLSubModel):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
||||||
|
for layer in self._layers:
|
||||||
|
layer._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
def get(self, index):
|
def get(self, index):
|
||||||
return self.layers[index]
|
return self.layers[index]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -413,3 +413,22 @@ class SQLSubModel(PamhyrID):
|
||||||
save
|
save
|
||||||
"""
|
"""
|
||||||
raise NotImplementedMethodeError(self, self._db_save)
|
raise NotImplementedMethodeError(self, self._db_save)
|
||||||
|
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
"""Traversal data and execute modifier fonction if predicate
|
||||||
|
true
|
||||||
|
|
||||||
|
Args:
|
||||||
|
predicate: Function predicate, take current obj and data as input
|
||||||
|
modifier: Function modifier, take current obj and data as input
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Nothing
|
||||||
|
|
||||||
|
"""
|
||||||
|
if predicate(self, data):
|
||||||
|
modifier(self, data)
|
||||||
|
|
|
||||||
|
|
@ -97,10 +97,7 @@ class PamhyrModelDict(SQLSubModel):
|
||||||
Nothing
|
Nothing
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if predicate(self, data):
|
for key in self._dict:
|
||||||
modifier(self, data)
|
|
||||||
|
|
||||||
for key in self._lst:
|
|
||||||
self._dict[key]\
|
self._dict[key]\
|
||||||
._data_traversal(predicate, modifier, data)
|
._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -100,9 +100,6 @@ class PamhyrModelList(SQLSubModel):
|
||||||
Nothing
|
Nothing
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if predicate(self, data):
|
|
||||||
modifier(self, data)
|
|
||||||
|
|
||||||
for el in self._lst:
|
for el in self._lst:
|
||||||
el._data_traversal(predicate, modifier, data)
|
el._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
|
|
@ -216,6 +213,24 @@ class PamhyrModelListWithTab(SQLSubModel):
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
raise NotImplementedMethodeError(self, self._db_save)
|
raise NotImplementedMethodeError(self, self._db_save)
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
"""Traversal data and execute modifier fonction if predicate
|
||||||
|
true
|
||||||
|
|
||||||
|
Args:
|
||||||
|
predicate: Function predicate, take current obj and data as input
|
||||||
|
modifier: Function modifier, take current obj and data as input
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Nothing
|
||||||
|
"""
|
||||||
|
for tab in self._tabs:
|
||||||
|
for el in self._tabs[tab]:
|
||||||
|
el._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
################
|
################
|
||||||
# MODEL METHOD #
|
# MODEL METHOD #
|
||||||
################
|
################
|
||||||
|
|
|
||||||
|
|
@ -103,11 +103,7 @@ class PamhyrModelList(SQLSubModel):
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Nothing
|
Nothing
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if predicate(self, data):
|
|
||||||
modifier(self, data)
|
|
||||||
|
|
||||||
for el in self._lst:
|
for el in self._lst:
|
||||||
el._data_traversal(predicate, modifier, data)
|
el._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
|
|
@ -230,6 +226,24 @@ class PamhyrModelListWithTab(SQLSubModel):
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
raise NotImplementedMethodeError(self, self._db_save)
|
raise NotImplementedMethodeError(self, self._db_save)
|
||||||
|
|
||||||
|
def _data_traversal(self,
|
||||||
|
predicate=lambda obj, data: True,
|
||||||
|
modifier=lambda obj, data: None,
|
||||||
|
data={}):
|
||||||
|
"""Traversal data and execute modifier fonction if predicate
|
||||||
|
true
|
||||||
|
|
||||||
|
Args:
|
||||||
|
predicate: Function predicate, take current obj and data as input
|
||||||
|
modifier: Function modifier, take current obj and data as input
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Nothing
|
||||||
|
"""
|
||||||
|
for tab in self._tabs_list:
|
||||||
|
for el in self._tabs[tab]:
|
||||||
|
el._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
################
|
################
|
||||||
# MODEL METHOD #
|
# MODEL METHOD #
|
||||||
################
|
################
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue