Shield newline symbol when generating labels for graphviz

Python converts '\n' to actual newline before putting it into dot format. Although the previous approach somehow works it's better to pass '\n' explicitly.
This commit is contained in:
foreignmeloman 2020-10-11 19:06:29 +04:00 committed by foreignmeloman
parent e01462c25d
commit 246448c222
1 changed files with 3 additions and 3 deletions

View File

@ -594,19 +594,19 @@ def dump_graphviz(tree, output_format='dot', is_reverse=False):
if not is_reverse: if not is_reverse:
for pkg, deps in tree.items(): for pkg, deps in tree.items():
pkg_label = '{0}\n{1}'.format(pkg.project_name, pkg.version) pkg_label = '{0}\\n{1}'.format(pkg.project_name, pkg.version)
graph.node(pkg.key, label=pkg_label) graph.node(pkg.key, label=pkg_label)
for dep in deps: for dep in deps:
edge_label = dep.version_spec or 'any' edge_label = dep.version_spec or 'any'
if dep.is_missing: if dep.is_missing:
dep_label = '{0}\n(missing)'.format(dep.project_name) dep_label = '{0}\\n(missing)'.format(dep.project_name)
graph.node(dep.key, label=dep_label, style='dashed') graph.node(dep.key, label=dep_label, style='dashed')
graph.edge(pkg.key, dep.key, style='dashed') graph.edge(pkg.key, dep.key, style='dashed')
else: else:
graph.edge(pkg.key, dep.key, label=edge_label) graph.edge(pkg.key, dep.key, label=edge_label)
else: else:
for dep, parents in tree.items(): for dep, parents in tree.items():
dep_label = '{0}\n{1}'.format(dep.project_name, dep_label = '{0}\\n{1}'.format(dep.project_name,
dep.installed_version) dep.installed_version)
graph.node(dep.key, label=dep_label) graph.node(dep.key, label=dep_label)
for parent in parents: for parent in parents: