mirror of https://gitlab.com/pamhyr/pamhyr2
River: Data traversal methode.
parent
8173eb8de9
commit
78e6f7e5a7
|
|
@ -627,6 +627,52 @@ class River(Graph):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger_exception(e)
|
logger_exception(e)
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
for obj in self._get_objs_list():
|
||||||
|
obj._data_traversal(predicate, modifier, data)
|
||||||
|
|
||||||
|
def _get_objs_list(self):
|
||||||
|
objs = [
|
||||||
|
self._nodes, self._edges,
|
||||||
|
self._boundary_condition,
|
||||||
|
self._initial_conditions,
|
||||||
|
self._lateral_contribution,
|
||||||
|
self._sediment_layers,
|
||||||
|
self._stricklers,
|
||||||
|
self._reservoir,
|
||||||
|
self._hydraulic_structures,
|
||||||
|
self._additional_files,
|
||||||
|
self._rep_lines,
|
||||||
|
self._Output_rk_adists,
|
||||||
|
self._Pollutants,
|
||||||
|
self._InitialConditionsAdisTS,
|
||||||
|
self._BoundaryConditionsAdisTS,
|
||||||
|
self._LateralContributionsAdisTS,
|
||||||
|
self._D90AdisTS, self._DIFAdisTS,
|
||||||
|
]
|
||||||
|
|
||||||
|
for solver in self._parameters:
|
||||||
|
objs.append(self._parameters[solver])
|
||||||
|
|
||||||
|
return objs
|
||||||
|
|
||||||
def init_default(self):
|
def init_default(self):
|
||||||
self.init_default_network()
|
self.init_default_network()
|
||||||
self.init_default_sediment()
|
self.init_default_sediment()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue