From 67433db17808f81935be630d6f345c3579f26b5d Mon Sep 17 00:00:00 2001 From: hagrid67 <jdhwatson@gmail.com> Date: Thu, 3 Sep 2020 12:57:14 +0100 Subject: [PATCH] ignore absent pygraphviz - wrap render call (to_agraph) in try/except ImportError in agent_chains --- flatland/envs/agent_chains.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/flatland/envs/agent_chains.py b/flatland/envs/agent_chains.py index 52789f09..02734f46 100644 --- a/flatland/envs/agent_chains.py +++ b/flatland/envs/agent_chains.py @@ -182,14 +182,19 @@ class MotionCheck(object): def render(omc:MotionCheck, horizontal=True): - oAG = nx.drawing.nx_agraph.to_agraph(omc.G) - oAG.layout("dot") - sDot = oAG.to_string() - if horizontal: - sDot = sDot.replace('{', '{ rankdir="LR" ') - #return oAG.draw(format="png") - # This returns a graphviz object which implements __repr_svg - return gv.Source(sDot) + try: + oAG = nx.drawing.nx_agraph.to_agraph(omc.G) + oAG.layout("dot") + sDot = oAG.to_string() + if horizontal: + sDot = sDot.replace('{', '{ rankdir="LR" ') + #return oAG.draw(format="png") + # This returns a graphviz object which implements __repr_svg + return gv.Source(sDot) + except ImportError as oError: + print("Flatland agent_chains ignoring ImportError - install pygraphviz to render graphs") + return None + class ChainTestEnv(object): """ Just for testing agent chains -- GitLab