From c55e382b6e8c11f2ce1f79bbdca0865fee9037a7 Mon Sep 17 00:00:00 2001 From: "niehues.mark@gmail.com" <niehues.mark@gmail.com> Date: Fri, 13 Mar 2020 12:40:34 +0100 Subject: [PATCH] reorg --- evrouting/graph_tools.py | 12 ++++++++++++ tests/config.py | 9 +++------ 2 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 evrouting/graph_tools.py diff --git a/evrouting/graph_tools.py b/evrouting/graph_tools.py new file mode 100644 index 0000000..65f9053 --- /dev/null +++ b/evrouting/graph_tools.py @@ -0,0 +1,12 @@ +from collections import namedtuple + +Street = namedtuple('Street', ['u', 'v', 'distance', 'consumption']) +Node = namedtuple('Node', ['label', 'charging_coeff'], defaults=(None, None)) + + +def node_convert(n: Node) -> dict: + return {'label': n.label, 'c': n.charging_coeff} + + +def street_convert(s: Street) -> dict: + return {'weight': s.distance, 'c': s.consumption} diff --git a/tests/config.py b/tests/config.py index 92a27bb..b0a4fc2 100644 --- a/tests/config.py +++ b/tests/config.py @@ -1,9 +1,6 @@ -from collections import namedtuple - import networkx as nx -Street = namedtuple('Street', ['u', 'v', 'distance', 'consumption']) -Node = namedtuple('Node', ['label', 'charging_coeff'], defaults=(None, None)) +from evrouting.graph_tools import Node, Street, node_convert, street_convert # List of configs config_list = ['edge_case'] @@ -31,9 +28,9 @@ def get_graph(config): G = nx.Graph() for node_id, node in enumerate(config['nodes']): - G.add_node(node_id, label=node.label, c=node.charging_coeff) + G.add_node(node_id, **node_convert(node)) for edge in config['edges']: - G.add_edge(edge.u, edge.v, weight=edge.distance, c=edge.consumption) + G.add_edge(edge.u, edge.v, **street_convert(edge)) return G -- GitLab