From fd007a9a7be84b5cf88797ed9c190d19ef559254 Mon Sep 17 00:00:00 2001 From: Bishalsarang Date: Sun, 28 Aug 2022 15:23:47 +0545 Subject: [PATCH] Bugfix-25: Issue while running multiple instances https://github.com/Bishalsarang/Recursion-Tree-Visualizer/issues/25 --- visualiser/visualiser.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/visualiser/visualiser.py b/visualiser/visualiser.py index 355e60b..49a57cc 100644 --- a/visualiser/visualiser.py +++ b/visualiser/visualiser.py @@ -15,16 +15,9 @@ class Visualiser(object): - # Total number of nodes - node_count = 0 - graph = pydot.Dot(graph_type="digraph", bgcolor="#fff3af") - # To track function call numbers - stack = [] - edges = [] - nodes = [] - def __init__(self, ignore_args=None, show_argument_name=True, show_return_value=True, node_properties_kwargs={}): + self.init_graph() # If enabled shows keyword arguments ordered by keys self.show_argument_name = show_argument_name # If enables shows the return value at every nodes @@ -114,6 +107,8 @@ def make_animation(cls, filename="out.gif", delay=3): except: print("Error saving gif.") + cls.init_graph() + def extract_arg_strings(self, *args, **kwargs): """ Returns function signature arguments function label arguments as @@ -274,3 +269,13 @@ def wrapper(*args, **kwargs): return result return wrapper + + @classmethod + def init_graph(cls): + # Total number of nodes + cls.node_count = 0 + cls.graph = pydot.Dot(graph_type="digraph", bgcolor="#fff3af") + # To track function call numbers + cls.stack = [] + cls.edges = [] + cls.nodes = []