Escape { to support dictionary in params #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Right now, if the function which we are visualizing the recursion for has a dictionary or defaultdict in it's param list, I get this error on my mac:
Error: bad label format fib(d={}, n=1)
How to repro:
With the default example provided in the readme, pass in a dictionary to fibonnaci:
Solution
If I escape { and }, the error goes away for dictionary and set. For default dict, I also need to escape < and > Not sure if there are any other special chars that need to be escaped because the pydot spec isn't particularly clear, but since dictionary and set both use { and } and those are both used often I figured I'd push this for now. Fix tested locally with the fibonacci example by adding a dictionary filled with arbitrary values to the param list of the fibonacci function.