mirror of https://gitlab.com/pamhyr/pamhyr2
Network: If there is only one edge, select it as current reach.
parent
53dc068dab
commit
c2c1667a73
|
|
@ -29,6 +29,14 @@ class Graph(object):
|
|||
def edges(self):
|
||||
return self._edges
|
||||
|
||||
def enable_edges(self):
|
||||
return list(
|
||||
filter(
|
||||
lambda e: e.is_enable(),
|
||||
self._edges
|
||||
)
|
||||
)
|
||||
|
||||
def edges_names(self):
|
||||
return list(map(lambda e: e.name, self._edges))
|
||||
|
||||
|
|
@ -38,6 +46,13 @@ class Graph(object):
|
|||
def edges_counts(self):
|
||||
return len(self._edges)
|
||||
|
||||
def enable_edges_counts(self):
|
||||
return reduce(
|
||||
lambda acc, e: acc + 1 if e.is_enable() else acc,
|
||||
self._edges,
|
||||
0
|
||||
)
|
||||
|
||||
def is_node_exists(self, node_name):
|
||||
return reduce(
|
||||
lambda acc, n: (acc or (n.name == node_name)),
|
||||
|
|
|
|||
|
|
@ -336,9 +336,16 @@ class River(Graph, SQLSubModel):
|
|||
return self._parameters[solver]
|
||||
|
||||
def has_current_reach(self):
|
||||
if self.enable_edges_counts() == 1:
|
||||
return True
|
||||
|
||||
return self._current_reach is not None
|
||||
|
||||
def current_reach(self):
|
||||
ee = self.enable_edges()
|
||||
if len(ee) == 1:
|
||||
return ee[0]
|
||||
|
||||
return self._current_reach
|
||||
|
||||
def set_current_reach(self, reach):
|
||||
|
|
|
|||
Loading…
Reference in New Issue