Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'graphviz' in functional components in Python. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
tutte [label="TUTTE HERMSGERVORDENBROTBORDA"]
"M00se" -- trained_by
trained_by -- tutte
}
>>> dot.view('test-output/m00se.gv') # doctest: +SKIP
'test-output/m00se.gv.pdf'
"""
from . import lang
from . import files
__all__ = ['Graph', 'Digraph']
class Dot(files.File):
"""Assemble, save, and render DOT source code, open result in viewer."""
_comment = '// %s'
_subgraph = 'subgraph %s{'
_subgraph_plain = '%s{'
_node = _attr = '\t%s%s'
_attr_plain = _attr % ('%s', '')
_tail = '}'
_quote = staticmethod(lang.quote)
_quote_edge = staticmethod(lang.quote_edge)
_a_list = staticmethod(lang.a_list)
_attr_list = staticmethod(lang.attr_list)
def __init__(self, name=None, comment=None,
node_names = {}
assert type(node_names) is dict
if node_colors is None:
node_colors = {}
assert type(node_colors) is dict
node_attrs = {
'shape': 'circle',
'fontsize': '9',
'height': '0.2',
'width': '0.2'}
dot = graphviz.Digraph(format=fmt, node_attr=node_attrs)
inputs = set()
for k in config.genome_config.input_keys:
inputs.add(k)
name = node_names.get(k, str(k))
input_attrs = {'style': 'filled',
'shape': 'box'}
input_attrs['fillcolor'] = node_colors.get(k, 'lightgray')
dot.node(name, _attributes=input_attrs)
outputs = set()
for k in config.genome_config.output_keys:
outputs.add(k)
name = node_names.get(k, str(k))
node_attrs = {'style': 'filled'}
node_attrs['fillcolor'] = node_colors.get(k, 'lightblue')
def test_visualize_raises_informative_error_without_sys_graphviz(self, monkeypatch):
f = Flow(name="test")
f.add_task(Task())
import graphviz as gviz
err = gviz.backend.ExecutableNotFound
graphviz = MagicMock(
Digraph=lambda: MagicMock(
render=MagicMock(side_effect=err("Can't find dot!"))
)
)
graphviz.backend.ExecutableNotFound = err
with patch.dict("sys.modules", graphviz=graphviz):
with pytest.raises(err, match="Please install Graphviz"):
f.visualize()
def test_missing_executable(func, args):
with pytest.raises(ExecutableNotFound, match=r'execute'):
func(*args)
(render, ['dot', 'pdf', 'nonfilepath']),
(pipe, ['dot', 'pdf', b'nongraph']),
(version, []),
])
def test_missing_executable(func, args):
with pytest.raises(ExecutableNotFound, match=r'execute'):
func(*args)
def test_render_format_unknown():
with pytest.raises(ValueError, match=r'unknown format'):
render('dot', '', 'nonfilepath')
def test_render_renderer_missing():
with pytest.raises(RequiredArgumentError, match=r'without renderer'):
render('dot', 'ps', 'nonfilepath', None, 'core')
def test_render_mocked(capsys, mocker, Popen, quiet): # noqa: N803
proc = Popen.return_value
proc.returncode = 0
proc.communicate.return_value = (b'stdout', b'stderr')
assert render('dot', 'pdf', 'nonfilepath', quiet=quiet) == 'nonfilepath.pdf'
Popen.assert_called_once_with(['dot', '-Tpdf', '-O', 'nonfilepath'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=None, startupinfo=mocker.ANY)
check_startupinfo(Popen.call_args.kwargs['startupinfo'])
proc.communicate.assert_called_once_with(None)
assert capsys.readouterr() == ('', '' if quiet else 'stderr')
subdir = tmpdir / 'subdir'
subdir.ensure(dir=True)
img_path = subdir / 'dot_red.png'
(filesdir / img_path.basename).copy(img_path)
assert img_path.size()
gv_path = subdir / 'img.gv'
rendered = gv_path.new(ext='%s.%s' % (gv_path.ext, format_))
gv_rel, rendered_rel = map(tmpdir.bestrelpath, (gv_path, rendered))
assert all(s.startswith('subdir') for s in (gv_rel, rendered_rel))
gv_path.write_text(u'graph { red_dot [image="%s"] }' % img_path.basename,
encoding='ascii')
with tmpdir.as_cwd():
assert render(engine, format_, gv_rel) == rendered_rel
assert rendered.size()
assert capsys.readouterr() == ('', '')
def test_render(capsys, tmpdir, engine, format_, renderer, formatter,
expected_suffix, filename='hello.gv',
data=b'digraph { hello -> world }'):
lpath = tmpdir / filename
lpath.write_binary(data)
rendered = lpath.new(ext='%s.%s' % (lpath.ext, expected_suffix))
assert render(engine, format_, str(lpath), renderer, formatter) == str(rendered)
assert rendered.size()
assert capsys.readouterr() == ('', '')