diff --git a/evrouting/charge/routing.py b/evrouting/charge/routing.py index 757525829947bd23a0a5160f61a5c4ea07bd72f5..9549ab039aacddd7a08cfb0b5b5649fa6ab3baeb 100644 --- a/evrouting/charge/routing.py +++ b/evrouting/charge/routing.py @@ -68,9 +68,7 @@ def shortest_path(G: nx.DiGraph, charging_stations: Set[Node], s: Node, t: Node, l_set[node_min].append(label_node_min) if node_min == t: - G.remove_node(t) - charging_stations.remove(dummy_cs) - + _cleanup(G, t, charging_stations, dummy_cs) return _result( label_node_min, f_soc_factory(label_node_min).minimum ) @@ -138,9 +136,14 @@ def shortest_path(G: nx.DiGraph, charging_stations: Set[Node], s: Node, t: Node, if is_new_min: prio_queue.insert(n, **keys(f_soc_factory(label_neighbour))) + _cleanup(G, t, charging_stations, dummy_cs) + return EmptyResult() + + +def _cleanup(G, t, charging_stations, dummy_cs): G.remove_node(t) + G.remove_node(dummy_cs) charging_stations.remove(dummy_cs) - return EmptyResult() def _setup(G: nx.Graph, charging_stations: Set[Node], capacity: SoC,