fix: escape HTML characters in config visualization #1227
Merged
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.
This follows #1200. The solution follows the suggestion of @MG-MW.
This problem is specific to config values. Instead of displaying their
node_name
andtype
, they display theirnode_name
and value. In the function_get_node_label()
, thetype_string
argument is actually the result ofstr(value)
.Essentially, we use
html.escape
to encode unsafe characters"
,&
,<
,>
and the Graphviz engine will convert them back (e.g., the stringlt&;
is rendered as<
). Inserting this safe string inside the f-string ensures a valid final string.At the same time, we added truncation for the config value. Displaying values can quickly get messy when people pass
pd.Series
as config values. Escaping characters after truncations give as better results