Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/graphviz/backend/mixins.py: 86%
37 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-26 06:43 +0000
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-26 06:43 +0000
1"""Mixin classes used by Base subclasses to inherit backend functionality."""
3import os
4import typing
6from .. import parameters
8from . import piping
9from . import rendering
10from . import unflattening
11from . import viewing
13__all__ = ['Render', 'Pipe', 'Unflatten', 'View']
16class Render(parameters.Parameters):
17 """Parameters for calling and calling ``graphviz.render()``."""
19 def _get_render_parameters(self,
20 outfile: typing.Union[os.PathLike, str, None] = None,
21 raise_if_result_exists: bool = False,
22 overwrite_source: bool = False,
23 **kwargs):
24 kwargs = self._get_parameters(**kwargs)
25 kwargs.update(outfile=outfile,
26 raise_if_result_exists=raise_if_result_exists,
27 overwrite_filepath=overwrite_source)
28 return [kwargs.pop('engine'), kwargs.pop('format')], kwargs
30 @property
31 def _render(_): # noqa: N805
32 """Simplify ``._render()`` mocking."""
33 return rendering.render
36class Pipe(parameters.Parameters):
37 """Parameters for calling and calling ``graphviz.pipe()``."""
39 _get_format = staticmethod(rendering.get_format)
41 _get_filepath = staticmethod(rendering.get_filepath)
43 def _get_pipe_parameters(self, **kwargs):
44 kwargs = self._get_parameters(**kwargs)
45 return [kwargs.pop('engine'), kwargs.pop('format')], kwargs
47 @property
48 def _pipe_lines(_): # noqa: N805
49 """Simplify ``._pipe_lines()`` mocking."""
50 return piping.pipe_lines
52 @property
53 def _pipe_lines_string(_): # noqa: N805
54 """Simplify ``._pipe_lines_string()`` mocking."""
55 return piping.pipe_lines_string
58class Unflatten:
60 @property
61 def _unflatten(_): # noqa: N805
62 """Simplify ``._unflatten mocking."""
63 return unflattening.unflatten
66class View:
67 """Open filepath with its default viewing application
68 (platform-specific)."""
70 _view_darwin = staticmethod(viewing.view_darwin)
72 _view_freebsd = staticmethod(viewing.view_unixoid)
74 _view_linux = staticmethod(viewing.view_unixoid)
76 _view_windows = staticmethod(viewing.view_windows)